merge mozilla-central to autoland. r=merge a=merge
authorSebastian Hengst <archaeopteryx@coole-files.de>
Mon, 17 Jul 2017 14:07:22 +0200
changeset 369228 f52c626468837ee515d62322f5145737a61cb9e1
parent 369227 522ed11f6fc1920d37486ac810a6cafd7d7141c5 (current diff)
parent 369162 d43779e278d2e4d3e21dba2fcb585a3bf4b1288e (diff)
child 369229 71526d1e9db828f635080b09cdc1266768ed3ddb
push id92653
push userkwierso@gmail.com
push dateTue, 18 Jul 2017 00:36:14 +0000
treeherdermozilla-inbound@75c857f94fd5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge, merge
milestone56.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
merge mozilla-central to autoland. r=merge a=merge
testing/web-platform/meta/html/semantics/forms/attributes-common-to-form-controls/formAction_document_address.html.ini
testing/web-platform/meta/html/semantics/forms/attributes-common-to-form-controls/formaction.html.ini
--- a/dom/base/Element.cpp
+++ b/dom/base/Element.cpp
@@ -1907,18 +1907,18 @@ Element::UnbindFromTree(bool aDeep, bool
     DeleteProperty(nsGkAtoms::transitionsProperty);
     DeleteProperty(nsGkAtoms::animationsOfBeforeProperty);
     DeleteProperty(nsGkAtoms::animationsOfAfterProperty);
     DeleteProperty(nsGkAtoms::animationsProperty);
   }
 
   ClearInDocument();
 
-  // Computed styled data isn't useful for detached nodes, and we'll need to
-  // recomputed it anyway if we ever insert the nodes back into a document.
+  // Computed style data isn't useful for detached nodes, and we'll need to
+  // recompute it anyway if we ever insert the nodes back into a document.
   if (IsStyledByServo()) {
     ClearServoData();
   } else {
     MOZ_ASSERT(!HasServoData());
   }
 
   // Editable descendant count only counts descendants that
   // are in the uncomposed document.
--- a/dom/html/HTMLButtonElement.h
+++ b/dom/html/HTMLButtonElement.h
@@ -18,16 +18,17 @@ class EventChainPreVisitor;
 namespace dom {
 
 class HTMLButtonElement final : public nsGenericHTMLFormElementWithState,
                                 public nsIDOMHTMLButtonElement,
                                 public nsIConstraintValidation
 {
 public:
   using nsIConstraintValidation::GetValidationMessage;
+  using nsGenericHTMLFormElementWithState::GetFormAction;
 
   explicit HTMLButtonElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo,
                              FromParser aFromParser = NOT_FROM_PARSER);
 
   NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLButtonElement,
                                            nsGenericHTMLFormElementWithState)
 
   // nsISupports
--- a/dom/html/HTMLFormElement.cpp
+++ b/dom/html/HTMLFormElement.cpp
@@ -1580,16 +1580,37 @@ HTMLFormElement::FlushPendingSubmission(
     // Transfer owning reference so that the submissioin doesn't get deleted
     // if we reenter
     nsAutoPtr<HTMLFormSubmission> submission = Move(mPendingSubmission);
 
     SubmitSubmission(submission);
   }
 }
 
+void
+HTMLFormElement::GetAction(nsString& aValue)
+{
+  if (!GetAttr(kNameSpaceID_None, nsGkAtoms::action, aValue) ||
+      aValue.IsEmpty()) {
+    nsIDocument* document = OwnerDoc();
+    nsIURI* docURI = document->GetDocumentURI();
+    if (docURI) {
+      nsAutoCString spec;
+      nsresult rv = docURI->GetSpec(spec);
+      if (NS_FAILED(rv)) {
+        return;
+      }
+
+      CopyUTF8toUTF16(spec, aValue);
+    }
+  } else {
+    GetURIAttr(nsGkAtoms::action, nullptr, aValue);
+  }
+}
+
 nsresult
 HTMLFormElement::GetActionURL(nsIURI** aActionURL,
                               nsIContent* aOriginatingElement)
 {
   nsresult rv = NS_OK;
 
   *aActionURL = nullptr;
 
--- a/dom/html/HTMLFormElement.h
+++ b/dom/html/HTMLFormElement.h
@@ -309,17 +309,18 @@ public:
     GetHTMLAttr(nsGkAtoms::acceptcharset, aValue);
   }
 
   void SetAcceptCharset(const nsAString& aValue, ErrorResult& aRv)
   {
     SetHTMLAttr(nsGkAtoms::acceptcharset, aValue, aRv);
   }
 
-  // XPCOM GetAction() is OK
+  void GetAction(nsString& aValue);
+
   void SetAction(const nsAString& aValue, ErrorResult& aRv)
   {
     SetHTMLAttr(nsGkAtoms::action, aValue, aRv);
   }
 
   // XPCOM GetAutocomplete() is OK
   void SetAutocomplete(const nsAString& aValue, ErrorResult& aRv)
   {
--- a/dom/html/HTMLInputElement.h
+++ b/dom/html/HTMLInputElement.h
@@ -132,16 +132,17 @@ class HTMLInputElement final : public ns
 {
   friend class AfterSetFilesOrDirectoriesCallback;
   friend class DispatchChangeEventCallback;
   friend class ::InputType;
 
 public:
   using nsIConstraintValidation::GetValidationMessage;
   using nsGenericHTMLFormElementWithState::GetForm;
+  using nsGenericHTMLFormElementWithState::GetFormAction;
 
   enum class FromClone { no, yes };
 
   HTMLInputElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo,
                    mozilla::dom::FromParser aFromParser,
                    FromClone aFromClone = FromClone::no);
 
   NS_IMPL_FROMCONTENT_HTML_WITH_TAG(HTMLInputElement, input)
--- a/dom/html/nsGenericHTMLElement.cpp
+++ b/dom/html/nsGenericHTMLElement.cpp
@@ -2423,16 +2423,42 @@ nsGenericHTMLFormElement::IsLabelable() 
   return (type & NS_FORM_INPUT_ELEMENT && type != NS_FORM_INPUT_HIDDEN) ||
          type & NS_FORM_BUTTON_ELEMENT ||
          // type == NS_FORM_KEYGEN ||
          type == NS_FORM_OUTPUT ||
          type == NS_FORM_SELECT ||
          type == NS_FORM_TEXTAREA;
 }
 
+void
+nsGenericHTMLFormElement::GetFormAction(nsString& aValue)
+{
+  uint32_t type = ControlType();
+  if (!(type & NS_FORM_INPUT_ELEMENT) && !(type & NS_FORM_BUTTON_ELEMENT)) {
+    return;
+  }
+
+  if (!GetAttr(kNameSpaceID_None, nsGkAtoms::formaction, aValue) ||
+      aValue.IsEmpty()) {
+    nsIDocument* document = OwnerDoc();
+    nsIURI* docURI = document->GetDocumentURI();
+    if (docURI) {
+      nsAutoCString spec;
+      nsresult rv = docURI->GetSpec(spec);
+      if (NS_FAILED(rv)) {
+        return;
+      }
+
+      CopyUTF8toUTF16(spec, aValue);
+    }
+  } else {
+    GetURIAttr(nsGkAtoms::formaction, nullptr, aValue);
+  }
+}
+
 //----------------------------------------------------------------------
 
 void
 nsGenericHTMLElement::Click(CallerType aCallerType)
 {
   if (HandlingClick())
     return;
 
--- a/dom/html/nsGenericHTMLElement.h
+++ b/dom/html/nsGenericHTMLElement.h
@@ -1115,16 +1115,18 @@ public:
    */
   bool CanBeDisabled() const;
 
   virtual bool IsHTMLFocusable(bool aWithMouse, bool* aIsFocusable,
                                  int32_t* aTabIndex) override;
 
   virtual bool IsLabelable() const override;
 
+  void GetFormAction(nsString& aValue);
+
 protected:
   virtual ~nsGenericHTMLFormElement();
 
   virtual nsresult BeforeSetAttr(int32_t aNameSpaceID, nsIAtom* aName,
                                  const nsAttrValueOrString* aValue,
                                  bool aNotify) override;
 
   virtual nsresult AfterSetAttr(int32_t aNameSpaceID, nsIAtom* aName,
--- a/dom/html/test/forms/test_button_attributes_reflection.html
+++ b/dom/html/test/forms/test_button_attributes_reflection.html
@@ -22,18 +22,21 @@ reflectBoolean({
 });
 
 // .disabled
 reflectBoolean({
   element: document.createElement("button"),
   attribute: "disabled",
 });
 
-// TODO: formAction (URL).  But note that we currently reflect it weirdly; see
-// dom/html/test/test_bug607145.html
+// .formAction
+reflectURL({
+  element: document.createElement("button"),
+  attribute: "formAction",
+});
 
 // .formEnctype
 reflectLimitedEnumerated({
   element: document.createElement("button"),
   attribute: "formEnctype",
   validValues: [
     "application/x-www-form-urlencoded",
     "multipart/form-data",
--- a/dom/html/test/forms/test_form_attributes_reflection.html
+++ b/dom/html/test/forms/test_form_attributes_reflection.html
@@ -17,18 +17,20 @@
 
 // .acceptCharset
 reflectString({
   element: document.createElement("form"),
   attribute: { idl: "acceptCharset", content: "accept-charset" },
   otherValues: [ "ISO-8859-1", "UTF-8" ],
 });
 
-// TODO: action (URL).  But note that we currently reflect it weirdly; see
-// dom/html/test/test_bug607145.html
+reflectURL({
+  element: document.createElement("form"),
+  attribute: "action",
+});
 
 // .autocomplete
 reflectLimitedEnumerated({
   element: document.createElement("form"),
   attribute: "autocomplete",
   validValues: [ "on", "off" ],
   invalidValues: [ "", "foo", "tulip", "default" ],
   defaultValue: "on",
--- a/dom/html/test/forms/test_input_attributes_reflection.html
+++ b/dom/html/test/forms/test_input_attributes_reflection.html
@@ -92,18 +92,22 @@ todo("dirName" in document.createElement
 // .disabled
 reflectBoolean({
   element: document.createElement("input"),
   attribute: "disabled",
 });
 
 // TODO: form (HTMLFormElement)
 // TODO: files (FileList)
-// TODO: formAction (URL).  But note that we currently reflect it weirdly; see
-// dom/html/test/test_bug607145.html
+
+// .formAction
+reflectURL({
+  element: document.createElement("button"),
+  attribute: "formAction",
+});
 
 // .formEnctype
 reflectLimitedEnumerated({
   element: document.createElement("input"),
   attribute: "formEnctype",
   validValues: [ "application/x-www-form-urlencoded", "multipart/form-data",
                  "text/plain" ],
   invalidValues: [ "", "foo", "tulip", "multipart/foo" ],
--- a/dom/html/test/test_bug607145.html
+++ b/dom/html/test/test_bug607145.html
@@ -26,35 +26,36 @@ https://bugzilla.mozilla.org/show_bug.cg
  * dom/html/test/forms/test_form_attributes_reflection.html
  */
 function reflectURL(aElement, aAttr)
 {
   var idl = aAttr;
   var attr = aAttr.toLowerCase();
   var elmtName = aElement.tagName.toLowerCase();
 
+  var previousDir = location.href.replace(/test\/[^\/]*$/, "");
+  var dir = location.href.replace(/test_bug607145.html[^\/]*$/, "");
+  var doc = location.href.replace(/\.html.*/, ".html");
+
   ok(idl in aElement, idl + " should be available in " + elmtName);
 
   // Default values.
-  is(aElement[idl], "", "." + idl + " default value should be the empty string");
+  is(aElement[idl], doc, "." + idl + " default value should be the document's URL");
   is(aElement.getAttribute(attr), null,
      "@" + attr + " default value should be null");
 
-  var previousDir = location.href.replace(/test\/[^\/]*$/, "");
-  var dir = location.href.replace(/test_bug607145.html[^\/]*$/, "");
-  var doc = location.href.replace(/\.html.*/, ".html")
   var values = [
     /* value to set, resolved value */
     [ "foo.html", dir + "foo.html" ],
     [ "data:text/html,<html></html>", "data:text/html,<html></html>" ],
     [ "http://example.org/", "http://example.org/" ],
     [ "//example.org/", "http://example.org/" ],
     [ "?foo=bar", doc + "?foo=bar" ],
     [ "#foo", location.href + "#foo" ],
-    [ "", "" ], // TODO: doesn't follow the specs, should be location.href.
+    [ "", doc ],
     [ " ", location.href ],
     [ "../", previousDir ],
     [ "...", dir + "..." ],
     // invalid URL
     [ "http://a b/", "http://a b/" ], // TODO: doesn't follow the specs, should be "".
   ];
 
   for (var value of values) {
--- a/dom/plugins/base/nsNPAPIPlugin.cpp
+++ b/dom/plugins/base/nsNPAPIPlugin.cpp
@@ -114,19 +114,19 @@ using namespace mozilla::plugins::parent
 
 // We should make this const...
 static NPNetscapeFuncs sBrowserFuncs = {
   sizeof(sBrowserFuncs),
   (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR,
   _geturl,
   _posturl,
   _requestread,
-  nullptr,
-  nullptr,
-  nullptr,
+  _newstream,
+  _write,
+  _destroystream,
   _status,
   _useragent,
   _memalloc,
   _memfree,
   _memflush,
   _reloadplugins,
   _getJavaEnv,
   _getJavaPeer,
@@ -771,16 +771,137 @@ NPError
 
   PluginDestructionGuard guard(npp);
 
   return MakeNewNPAPIStreamInternal(npp, relativeURL, target,
                                     eNPPStreamTypeInternal_Post, false, nullptr,
                                     len, buf);
 }
 
+NPError
+_newstream(NPP npp, NPMIMEType type, const char* target, NPStream* *result)
+{
+  if (!NS_IsMainThread()) {
+    NPN_PLUGIN_LOG(PLUGIN_LOG_ALWAYS,("NPN_newstream called from the wrong thread\n"));
+    return NPERR_INVALID_PARAM;
+  }
+  NPN_PLUGIN_LOG(PLUGIN_LOG_NORMAL,
+  ("NPN_NewStream: npp=%p, type=%s, target=%s\n", (void*)npp,
+   (const char *)type, target));
+
+  NPError err = NPERR_INVALID_INSTANCE_ERROR;
+  if (npp && npp->ndata) {
+    nsNPAPIPluginInstance *inst = (nsNPAPIPluginInstance*)npp->ndata;
+
+    PluginDestructionGuard guard(inst);
+
+    nsCOMPtr<nsIOutputStream> stream;
+    if (NS_SUCCEEDED(inst->NewStreamFromPlugin((const char*) type, target,
+                                               getter_AddRefs(stream)))) {
+      auto* wrapper = new nsNPAPIStreamWrapper(stream, nullptr);
+      if (wrapper) {
+        (*result) = &wrapper->mNPStream;
+        err = NPERR_NO_ERROR;
+      } else {
+        err = NPERR_OUT_OF_MEMORY_ERROR;
+      }
+    } else {
+      err = NPERR_GENERIC_ERROR;
+    }
+  }
+  return err;
+}
+
+int32_t
+_write(NPP npp, NPStream *pstream, int32_t len, void *buffer)
+{
+  if (!NS_IsMainThread()) {
+    NPN_PLUGIN_LOG(PLUGIN_LOG_ALWAYS,("NPN_write called from the wrong thread\n"));
+    return 0;
+  }
+  NPN_PLUGIN_LOG(PLUGIN_LOG_NORMAL,
+                 ("NPN_Write: npp=%p, url=%s, len=%d, buffer=%s\n", (void*)npp,
+                  pstream->url, len, (char*)buffer));
+
+  // negative return indicates failure to the plugin
+  if (!npp)
+    return -1;
+
+  PluginDestructionGuard guard(npp);
+
+  nsNPAPIStreamWrapper* wrapper = static_cast<nsNPAPIStreamWrapper*>(pstream->ndata);
+  if (!wrapper) {
+    return -1;
+  }
+
+  nsIOutputStream* stream = wrapper->GetOutputStream();
+  if (!stream) {
+    return -1;
+  }
+
+  uint32_t count = 0;
+  nsresult rv = stream->Write((char *)buffer, len, &count);
+
+  if (NS_FAILED(rv)) {
+    return -1;
+  }
+
+  return (int32_t)count;
+}
+
+NPError
+_destroystream(NPP npp, NPStream *pstream, NPError reason)
+{
+  if (!NS_IsMainThread()) {
+    NPN_PLUGIN_LOG(PLUGIN_LOG_ALWAYS,("NPN_destroystream called from the wrong thread\n"));
+    return NPERR_INVALID_PARAM;
+  }
+  NPN_PLUGIN_LOG(PLUGIN_LOG_NORMAL,
+                 ("NPN_DestroyStream: npp=%p, url=%s, reason=%d\n", (void*)npp,
+                  pstream->url, (int)reason));
+
+  if (!npp)
+    return NPERR_INVALID_INSTANCE_ERROR;
+
+  PluginDestructionGuard guard(npp);
+
+  nsNPAPIStreamWrapper *streamWrapper = static_cast<nsNPAPIStreamWrapper*>(pstream->ndata);
+  if (!streamWrapper) {
+    return NPERR_INVALID_PARAM;
+  }
+
+  nsNPAPIPluginStreamListener *listener = streamWrapper->GetStreamListener();
+  if (listener) {
+    // This type of stream is going from the browser to the plugin. It's either the
+    // initial src/data stream or another stream resulting from NPN_GetURL* or
+    // NPN_PostURL*.
+    //
+    // Calling OnStopBinding on the listener may cause it to be deleted due to the
+    // releasing of its last references.
+    listener->OnStopBinding(nullptr, NS_BINDING_ABORTED);
+  } else {
+    // This type of stream (NPStream) was created via NPN_NewStream. The plugin holds
+    // the reference until it is to be deleted here. Deleting the wrapper will
+    // release the wrapped nsIOutputStream.
+    //
+    // The NPStream the plugin references should always be a sub-object of its own
+    // 'ndata', which is our nsNPAPIStramWrapper. See bug 548441.
+    NS_ASSERTION((char*)streamWrapper <= (char*)pstream &&
+                 ((char*)pstream) + sizeof(*pstream)
+                     <= ((char*)streamWrapper) + sizeof(*streamWrapper),
+                 "pstream is not a subobject of wrapper");
+    delete streamWrapper;
+  }
+
+  // 'listener' and/or 'streamWrapper' may be invalid (deleted) at this point. Don't
+  // touch them again!
+
+  return NPERR_NO_ERROR;
+}
+
 void
 _status(NPP npp, const char *message)
 {
   // NPN_Status is no longer supported.
 }
 
 void
 _memfree (void *ptr)
--- a/dom/plugins/base/nsNPAPIPlugin.h
+++ b/dom/plugins/base/nsNPAPIPlugin.h
@@ -266,16 +266,25 @@ NPError
 NPError
 _posturlnotify(NPP npp, const char* relativeURL, const char *target,
                uint32_t len, const char *buf, NPBool file, void* notifyData);
 
 NPError
 _posturl(NPP npp, const char* relativeURL, const char *target, uint32_t len,
             const char *buf, NPBool file);
 
+NPError
+_newstream(NPP npp, NPMIMEType type, const char* window, NPStream** pstream);
+
+int32_t
+_write(NPP npp, NPStream *pstream, int32_t len, void *buffer);
+
+NPError
+_destroystream(NPP npp, NPStream *pstream, NPError reason);
+
 void
 _status(NPP npp, const char *message);
 
 void
 _memfree (void *ptr);
 
 uint32_t
 _memflush(uint32_t size);
--- a/dom/plugins/base/nsNPAPIPluginInstance.cpp
+++ b/dom/plugins/base/nsNPAPIPluginInstance.cpp
@@ -507,16 +507,24 @@ nsresult nsNPAPIPluginInstance::SetWindo
     ("NPP SetWindow called: this=%p, [x=%d,y=%d,w=%d,h=%d], clip[t=%d,b=%d,l=%d,r=%d], return=%d\n",
     this, window->x, window->y, window->width, window->height,
     window->clipRect.top, window->clipRect.bottom, window->clipRect.left, window->clipRect.right, error));
   }
   return NS_OK;
 }
 
 nsresult
+nsNPAPIPluginInstance::NewStreamFromPlugin(const char* type, const char* target,
+                                           nsIOutputStream* *result)
+{
+  nsPluginStreamToFile* stream = new nsPluginStreamToFile(target, mOwner);
+  return stream->QueryInterface(kIOutputStreamIID, (void**)result);
+}
+
+nsresult
 nsNPAPIPluginInstance::NewStreamListener(const char* aURL, void* notifyData,
                                          nsNPAPIPluginStreamListener** listener)
 {
   RefPtr<nsNPAPIPluginStreamListener> sl = new nsNPAPIPluginStreamListener(this, notifyData, aURL);
 
   mStreamListeners.AppendElement(sl);
 
   sl.forget(listener);
--- a/dom/plugins/base/nsNPAPIPluginStreamListener.cpp
+++ b/dom/plugins/base/nsNPAPIPluginStreamListener.cpp
@@ -29,17 +29,108 @@ nsNPAPIStreamWrapper::nsNPAPIStreamWrapp
 
 nsNPAPIStreamWrapper::~nsNPAPIStreamWrapper()
 {
   if (mOutputStream) {
     mOutputStream->Close();
   }
 }
 
+NS_IMPL_ISUPPORTS(nsPluginStreamToFile, nsIOutputStream)
+
+nsPluginStreamToFile::nsPluginStreamToFile(const char* target,
+                                           nsIPluginInstanceOwner* owner)
+: mTarget(PL_strdup(target)),
+mOwner(owner)
+{
+  nsresult rv;
+  nsCOMPtr<nsIFile> pluginTmp;
+  rv = NS_GetSpecialDirectory(NS_OS_TEMP_DIR, getter_AddRefs(pluginTmp));
+  if (NS_FAILED(rv)) return;
+
+  mTempFile = do_QueryInterface(pluginTmp, &rv);
+  if (NS_FAILED(rv)) return;
+
+  // need to create a file with a unique name - use target as the basis
+  rv = mTempFile->AppendNative(nsDependentCString(target));
+  if (NS_FAILED(rv)) return;
+
+  // Yes, make it unique.
+  rv = mTempFile->CreateUnique(nsIFile::NORMAL_FILE_TYPE, 0700);
+  if (NS_FAILED(rv)) return;
+
+  // create the file
+  rv = NS_NewLocalFileOutputStream(getter_AddRefs(mOutputStream), mTempFile, -1, 00600);
+  if (NS_FAILED(rv))
+    return;
+
+  // construct the URL we'll use later in calls to GetURL()
+  NS_GetURLSpecFromFile(mTempFile, mFileURL);
+
+#ifdef DEBUG
+  printf("File URL = %s\n", mFileURL.get());
+#endif
+}
+
+nsPluginStreamToFile::~nsPluginStreamToFile()
+{
+  // should we be deleting mTempFile here?
+  if (nullptr != mTarget)
+    PL_strfree(mTarget);
+}
+
+NS_IMETHODIMP
+nsPluginStreamToFile::Flush()
+{
+  return NS_OK;
+}
+
+NS_IMETHODIMP
+nsPluginStreamToFile::Write(const char* aBuf, uint32_t aCount,
+                            uint32_t *aWriteCount)
+{
+  mOutputStream->Write(aBuf, aCount, aWriteCount);
+  mOutputStream->Flush();
+  mOwner->GetURL(mFileURL.get(), mTarget, nullptr, nullptr, 0, false);
+  return NS_OK;
+}
+
+NS_IMETHODIMP
+nsPluginStreamToFile::WriteFrom(nsIInputStream *inStr, uint32_t count,
+                                uint32_t *_retval)
+{
+  NS_NOTREACHED("WriteFrom");
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+NS_IMETHODIMP
+nsPluginStreamToFile::WriteSegments(nsReadSegmentFun reader, void * closure,
+                                    uint32_t count, uint32_t *_retval)
+{
+  NS_NOTREACHED("WriteSegments");
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+NS_IMETHODIMP
+nsPluginStreamToFile::IsNonBlocking(bool *aNonBlocking)
+{
+  *aNonBlocking = false;
+  return NS_OK;
+}
+
+NS_IMETHODIMP
+nsPluginStreamToFile::Close(void)
+{
+  mOutputStream->Close();
+  mOwner->GetURL(mFileURL.get(), mTarget, nullptr, nullptr, 0, false);
+  return NS_OK;
+}
+
 // nsNPAPIPluginStreamListener Methods
+
 NS_IMPL_ISUPPORTS(nsNPAPIPluginStreamListener,
                   nsITimerCallback, nsIHTTPHeaderListener)
 
 nsNPAPIPluginStreamListener::nsNPAPIPluginStreamListener(nsNPAPIPluginInstance* inst,
                                                          void* notifyData,
                                                          const char* aURL)
   : mStreamBuffer(nullptr)
   , mNotifyURL(aURL ? PL_strdup(aURL) : nullptr)
--- a/dom/plugins/base/nsNPAPIPluginStreamListener.h
+++ b/dom/plugins/base/nsNPAPIPluginStreamListener.h
@@ -35,16 +35,35 @@ public:
   nsNPAPIPluginStreamListener* GetStreamListener() { return mStreamListener; }
 
   NPStream                              mNPStream;
 protected:
   nsCOMPtr<nsIOutputStream>             mOutputStream; // only valid if not browser initiated
   nsNPAPIPluginStreamListener*          mStreamListener; // only valid if browser initiated
 };
 
+// Used to handle NPN_NewStream() - writes the stream as received by the plugin
+// to a file and at completion (NPN_DestroyStream), tells the browser to load it into
+// a plugin-specified target
+class nsPluginStreamToFile : public nsIOutputStream
+{
+public:
+  nsPluginStreamToFile(const char* target, nsIPluginInstanceOwner* owner);
+
+  NS_DECL_ISUPPORTS
+  NS_DECL_NSIOUTPUTSTREAM
+protected:
+  virtual ~nsPluginStreamToFile();
+  char* mTarget;
+  nsCString mFileURL;
+  nsCOMPtr<nsIFile> mTempFile;
+  nsCOMPtr<nsIOutputStream> mOutputStream;
+  nsIPluginInstanceOwner* mOwner;
+};
+
 class nsNPAPIPluginStreamListener : public nsITimerCallback,
                                     public nsIHTTPHeaderListener
 {
 private:
   typedef mozilla::PluginLibrary PluginLibrary;
 
 public:
   NS_DECL_ISUPPORTS
--- a/dom/plugins/ipc/PPluginInstance.ipdl
+++ b/dom/plugins/ipc/PPluginInstance.ipdl
@@ -2,16 +2,17 @@
 /* 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 protocol PPluginBackgroundDestroyer;
 include protocol PPluginModule;
 include protocol PPluginScriptableObject;
 include protocol PBrowserStream;
+include protocol PPluginStream;
 include protocol PStreamNotify;
 include protocol PPluginSurface;
 
 include "mozilla/GfxMessageUtils.h";
 include "mozilla/layers/LayersMessageUtils.h";
 
 using NPError from "npapi.h";
 using struct mozilla::plugins::NPRemoteWindow from "mozilla/plugins/PluginMessageUtils.h";
@@ -62,16 +63,17 @@ union OptionalShmem {
 
 intr protocol PPluginInstance
 {
   manager PPluginModule;
 
   manages PPluginBackgroundDestroyer;
   manages PPluginScriptableObject;
   manages PBrowserStream;
+  manages PPluginStream;
   manages PStreamNotify;
   manages PPluginSurface;
 
 child:
   intr __delete__();
 
   // This is only used on Windows and, for windowed plugins, must be called
   // before the first call to NPP_SetWindow.
@@ -284,16 +286,22 @@ child:
 
   // Implements the legacy (synchronous) version of NPP_NewStream for when
   // async plugin init is preffed off.
   intr NPP_NewStream(PBrowserStream actor, nsCString mimeType, bool seekable)
     returns (NPError rv,
              uint16_t stype);
 
 parent:
+  /* NPN_NewStream */
+  intr PPluginStream(nsCString mimeType,
+                    nsCString target)
+    returns (NPError result);
+
+parent:
   intr PluginFocusChange(bool gotFocus);
 
 child:
   intr SetPluginFocus();
   intr UpdateWindow();
 
   async PPluginBackgroundDestroyer();
 };
new file mode 100644
--- /dev/null
+++ b/dom/plugins/ipc/PPluginStream.ipdl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
+/* 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 protocol PPluginInstance;
+
+
+using mozilla::plugins::Buffer from "mozilla/plugins/PluginMessageUtils.h";
+using NPError from "npapi.h";
+using NPReason from "npapi.h";
+
+namespace mozilla {
+namespace plugins {
+
+/**
+ * PPluginStream represents an NPStream sent from the plugin to the browser.
+ */
+
+intr protocol PPluginStream
+{
+  manager PPluginInstance;
+
+parent:
+  intr NPN_Write(Buffer data) returns (int32_t written);
+
+both:
+  /**
+   * ~PPluginStream is for both NPN_DestroyStream and NPP_DestroyStream.
+   * @param artificial True when the stream is closed as a by-product of
+   *                        some other call (such as a failure in NPN_Write).
+   */
+  intr __delete__(NPReason reason, bool artificial);
+};
+
+} // namespace plugins
+} // namespace mozilla
--- a/dom/plugins/ipc/PluginInstanceChild.cpp
+++ b/dom/plugins/ipc/PluginInstanceChild.cpp
@@ -3,16 +3,17 @@
  * 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 "PluginBackgroundDestroyer.h"
 #include "PluginInstanceChild.h"
 #include "PluginModuleChild.h"
 #include "BrowserStreamChild.h"
+#include "PluginStreamChild.h"
 #include "StreamNotifyChild.h"
 #include "PluginProcessChild.h"
 #include "gfxASurface.h"
 #include "gfxPlatform.h"
 #include "gfx2DGlue.h"
 #include "nsNPAPIPluginInstance.h"
 #include "mozilla/gfx/2D.h"
 #ifdef MOZ_X11
@@ -2523,16 +2524,32 @@ PluginInstanceChild::AllocPBrowserStream
 bool
 PluginInstanceChild::DeallocPBrowserStreamChild(PBrowserStreamChild* stream)
 {
     AssertPluginThread();
     delete stream;
     return true;
 }
 
+PPluginStreamChild*
+PluginInstanceChild::AllocPPluginStreamChild(const nsCString& mimeType,
+                                             const nsCString& target,
+                                             NPError* result)
+{
+    MOZ_CRASH("not callable");
+    return nullptr;
+}
+
+bool
+PluginInstanceChild::DeallocPPluginStreamChild(PPluginStreamChild* stream)
+{
+    AssertPluginThread();
+    delete stream;
+    return true;
+}
 
 PStreamNotifyChild*
 PluginInstanceChild::AllocPStreamNotifyChild(const nsCString& url,
                                              const nsCString& target,
                                              const bool& post,
                                              const nsCString& buffer,
                                              const bool& file,
                                              NPError* result)
@@ -2638,16 +2655,38 @@ PluginInstanceChild::GetActorForNPObject
         NS_ERROR("Failed to send constructor message!");
         return nullptr;
     }
 
     actor->InitializeLocal(aObject);
     return actor;
 }
 
+NPError
+PluginInstanceChild::NPN_NewStream(NPMIMEType aMIMEType, const char* aWindow,
+                                   NPStream** aStream)
+{
+    AssertPluginThread();
+    AutoStackHelper guard(this);
+
+    auto* ps = new PluginStreamChild();
+
+    NPError result;
+    CallPPluginStreamConstructor(ps, nsDependentCString(aMIMEType),
+                                 NullableString(aWindow), &result);
+    if (NPERR_NO_ERROR != result) {
+        *aStream = nullptr;
+        PPluginStreamChild::Call__delete__(ps, NPERR_GENERIC_ERROR, true);
+        return result;
+    }
+
+    *aStream = &ps->mStream;
+    return NPERR_NO_ERROR;
+}
+
 void
 PluginInstanceChild::NPN_URLRedirectResponse(void* notifyData, NPBool allow)
 {
     if (!notifyData) {
         return;
     }
 
     InfallibleTArray<PStreamNotifyChild*> notifyStreams;
--- a/dom/plugins/ipc/PluginInstanceChild.h
+++ b/dom/plugins/ipc/PluginInstanceChild.h
@@ -170,16 +170,24 @@ protected:
                              const uint32_t& length,
                              const uint32_t& lastmodified,
                              PStreamNotifyChild* notifyData,
                              const nsCString& headers) override;
 
     virtual bool
     DeallocPBrowserStreamChild(PBrowserStreamChild* stream) override;
 
+    virtual PPluginStreamChild*
+    AllocPPluginStreamChild(const nsCString& mimeType,
+                            const nsCString& target,
+                            NPError* result) override;
+
+    virtual bool
+    DeallocPPluginStreamChild(PPluginStreamChild* stream) override;
+
     virtual PStreamNotifyChild*
     AllocPStreamNotifyChild(const nsCString& url, const nsCString& target,
                             const bool& post, const nsCString& buffer,
                             const bool& file,
                             NPError* result) override;
 
     virtual bool
     DeallocPStreamNotifyChild(PStreamNotifyChild* notifyData) override;
--- a/dom/plugins/ipc/PluginInstanceParent.cpp
+++ b/dom/plugins/ipc/PluginInstanceParent.cpp
@@ -9,16 +9,17 @@
 
 #include "mozilla/BasicEvents.h"
 #include "mozilla/Preferences.h"
 #include "mozilla/Telemetry.h"
 #include "PluginInstanceParent.h"
 #include "BrowserStreamParent.h"
 #include "PluginBackgroundDestroyer.h"
 #include "PluginModuleParent.h"
+#include "PluginStreamParent.h"
 #include "StreamNotifyParent.h"
 #include "npfunctions.h"
 #include "nsAutoPtr.h"
 #include "gfxASurface.h"
 #include "gfxContext.h"
 #include "gfxPlatform.h"
 #include "gfxSharedImageSurface.h"
 #include "nsNetUtil.h"
@@ -235,16 +236,30 @@ PluginInstanceParent::AllocPBrowserStrea
 
 bool
 PluginInstanceParent::DeallocPBrowserStreamParent(PBrowserStreamParent* stream)
 {
     delete stream;
     return true;
 }
 
+PPluginStreamParent*
+PluginInstanceParent::AllocPPluginStreamParent(const nsCString& mimeType,
+                                               const nsCString& target,
+                                               NPError* result)
+{
+    return new PluginStreamParent(this, mimeType, target, result);
+}
+
+bool
+PluginInstanceParent::DeallocPPluginStreamParent(PPluginStreamParent* stream)
+{
+    delete stream;
+    return true;
+}
 
 mozilla::ipc::IPCResult
 PluginInstanceParent::AnswerNPN_GetValue_NPNVnetscapeWindow(NativeWindowHandle* value,
                                                             NPError* result)
 {
 #ifdef XP_WIN
     HWND id;
 #elif defined(MOZ_X11)
@@ -1770,23 +1785,34 @@ PluginInstanceParent::NPP_DestroyStream(
 
     AStream* s = static_cast<AStream*>(stream->pdata);
     if (!s) {
         // The stream has already been deleted by other means.
         // With async plugin init this could happen if async NPP_NewStream
         // returns an error code.
         return NPERR_NO_ERROR;
     }
-    MOZ_ASSERT(s->IsBrowserStream());
-    BrowserStreamParent* sp =
-        static_cast<BrowserStreamParent*>(s);
-    if (sp->mNPP != this)
-        MOZ_CRASH("Mismatched plugin data");
-    sp->NPP_DestroyStream(reason);
-    return NPERR_NO_ERROR;
+    if (s->IsBrowserStream()) {
+        BrowserStreamParent* sp =
+            static_cast<BrowserStreamParent*>(s);
+        if (sp->mNPP != this)
+            MOZ_CRASH("Mismatched plugin data");
+
+        sp->NPP_DestroyStream(reason);
+        return NPERR_NO_ERROR;
+    }
+    else {
+        PluginStreamParent* sp =
+            static_cast<PluginStreamParent*>(s);
+        if (sp->mInstance != this)
+            MOZ_CRASH("Mismatched plugin data");
+
+        return PPluginStreamParent::Call__delete__(sp, reason, false) ?
+            NPERR_NO_ERROR : NPERR_GENERIC_ERROR;
+    }
 }
 
 void
 PluginInstanceParent::NPP_Print(NPPrint* platformPrint)
 {
     // TODO: implement me
     NS_ERROR("Not implemented");
 }
--- a/dom/plugins/ipc/PluginInstanceParent.h
+++ b/dom/plugins/ipc/PluginInstanceParent.h
@@ -40,16 +40,17 @@ namespace plugins {
 class PBrowserStreamParent;
 class PluginModuleParent;
 class D3D11SurfaceHolder;
 
 class PluginInstanceParent : public PPluginInstanceParent
 {
     friend class PluginModuleParent;
     friend class BrowserStreamParent;
+    friend class PluginStreamParent;
     friend class StreamNotifyParent;
 
 #if defined(XP_WIN)
 public:
     /**
      * Helper method for looking up instances based on a supplied id.
      */
     static PluginInstanceParent*
@@ -84,16 +85,23 @@ public:
     AllocPBrowserStreamParent(const nsCString& url,
                               const uint32_t& length,
                               const uint32_t& lastmodified,
                               PStreamNotifyParent* notifyData,
                               const nsCString& headers) override;
     virtual bool
     DeallocPBrowserStreamParent(PBrowserStreamParent* stream) override;
 
+    virtual PPluginStreamParent*
+    AllocPPluginStreamParent(const nsCString& mimeType,
+                             const nsCString& target,
+                             NPError* result) override;
+    virtual bool
+    DeallocPPluginStreamParent(PPluginStreamParent* stream) override;
+
     virtual mozilla::ipc::IPCResult
     AnswerNPN_GetValue_NPNVnetscapeWindow(NativeWindowHandle* value,
                                           NPError* result) override;
     virtual mozilla::ipc::IPCResult
     AnswerNPN_GetValue_NPNVWindowNPObject(
                                        PPluginScriptableObjectParent** value,
                                        NPError* result) override;
     virtual mozilla::ipc::IPCResult
--- a/dom/plugins/ipc/PluginModuleChild.cpp
+++ b/dom/plugins/ipc/PluginModuleChild.cpp
@@ -26,16 +26,17 @@
 #ifdef MOZ_X11
 # include "nsX11ErrorHandler.h"
 # include "mozilla/X11Util.h"
 #endif
 #include "mozilla/ipc/ProcessChild.h"
 #include "mozilla/plugins/PluginInstanceChild.h"
 #include "mozilla/plugins/StreamNotifyChild.h"
 #include "mozilla/plugins/BrowserStreamChild.h"
+#include "mozilla/plugins/PluginStreamChild.h"
 #include "mozilla/Sprintf.h"
 #include "mozilla/Unused.h"
 
 #include "nsNPAPIPlugin.h"
 
 #ifdef XP_WIN
 #include "nsWindowsDllInterceptor.h"
 #include "mozilla/widget/AudioSession.h"
@@ -835,16 +836,25 @@ static NPError
 static NPError
 _posturlnotify(NPP aNPP, const char* relativeURL, const char *target,
                uint32_t len, const char *buf, NPBool file, void* notifyData);
 
 static NPError
 _posturl(NPP aNPP, const char* relativeURL, const char *target, uint32_t len,
          const char *buf, NPBool file);
 
+static NPError
+_newstream(NPP aNPP, NPMIMEType type, const char* window, NPStream** pstream);
+
+static int32_t
+_write(NPP aNPP, NPStream *pstream, int32_t len, void *buffer);
+
+static NPError
+_destroystream(NPP aNPP, NPStream *pstream, NPError reason);
+
 static void
 _status(NPP aNPP, const char *message);
 
 static void
 _memfree (void *ptr);
 
 static uint32_t
 _memflush(uint32_t size);
@@ -969,19 +979,19 @@ static void
 } /* namespace mozilla */
 
 const NPNetscapeFuncs PluginModuleChild::sBrowserFuncs = {
     sizeof(sBrowserFuncs),
     (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR,
     mozilla::plugins::child::_geturl,
     mozilla::plugins::child::_posturl,
     mozilla::plugins::child::_requestread,
-    nullptr,
-    nullptr,
-    nullptr,
+    mozilla::plugins::child::_newstream,
+    mozilla::plugins::child::_write,
+    mozilla::plugins::child::_destroystream,
     mozilla::plugins::child::_status,
     mozilla::plugins::child::_useragent,
     mozilla::plugins::child::_memalloc,
     mozilla::plugins::child::_memfree,
     mozilla::plugins::child::_memflush,
     mozilla::plugins::child::_reloadplugins,
     mozilla::plugins::child::_getjavaenv,
     mozilla::plugins::child::_getjavapeer,
@@ -1222,16 +1232,65 @@ NPError
     // FIXME what should happen when |aBuffer| is null?
     InstCast(aNPP)->CallNPN_PostURL(NullableString(aRelativeURL),
                                     NullableString(aTarget),
                                     nsDependentCString(aBuffer, aLength),
                                     aIsFile, &err);
     return err;
 }
 
+NPError
+_newstream(NPP aNPP,
+           NPMIMEType aMIMEType,
+           const char* aWindow,
+           NPStream** aStream)
+{
+    PLUGIN_LOG_DEBUG_FUNCTION;
+    ENSURE_PLUGIN_THREAD(NPERR_INVALID_PARAM);
+    return InstCast(aNPP)->NPN_NewStream(aMIMEType, aWindow, aStream);
+}
+
+int32_t
+_write(NPP aNPP,
+       NPStream* aStream,
+       int32_t aLength,
+       void* aBuffer)
+{
+    PLUGIN_LOG_DEBUG_FUNCTION;
+    ENSURE_PLUGIN_THREAD(0);
+
+    PluginStreamChild* ps =
+        static_cast<PluginStreamChild*>(static_cast<AStream*>(aStream->ndata));
+    ps->EnsureCorrectInstance(InstCast(aNPP));
+    ps->EnsureCorrectStream(aStream);
+    return ps->NPN_Write(aLength, aBuffer);
+}
+
+NPError
+_destroystream(NPP aNPP,
+               NPStream* aStream,
+               NPError aReason)
+{
+    PLUGIN_LOG_DEBUG_FUNCTION;
+    ENSURE_PLUGIN_THREAD(NPERR_INVALID_PARAM);
+
+    PluginInstanceChild* p = InstCast(aNPP);
+    AStream* s = static_cast<AStream*>(aStream->ndata);
+    if (s->IsBrowserStream()) {
+        BrowserStreamChild* bs = static_cast<BrowserStreamChild*>(s);
+        bs->EnsureCorrectInstance(p);
+        bs->NPN_DestroyStream(aReason);
+    }
+    else {
+        PluginStreamChild* ps = static_cast<PluginStreamChild*>(s);
+        ps->EnsureCorrectInstance(p);
+        PPluginStreamChild::Call__delete__(ps, aReason, false);
+    }
+    return NPERR_NO_ERROR;
+}
 
 void
 _status(NPP aNPP,
         const char* aMessage)
 {
     // NPN_Status is no longer supported.
 }
 
--- a/dom/plugins/ipc/PluginModuleParent.cpp
+++ b/dom/plugins/ipc/PluginModuleParent.cpp
@@ -944,16 +944,21 @@ PluginModuleChromeParent::GetManagingIns
                 static_cast<PPluginScriptableObjectParent*>(aProtocol);
             return static_cast<PluginInstanceParent*>(actor->Manager());
         }
         case PBrowserStreamMsgStart: {
             PBrowserStreamParent* actor =
                 static_cast<PBrowserStreamParent*>(aProtocol);
             return static_cast<PluginInstanceParent*>(actor->Manager());
         }
+        case PPluginStreamMsgStart: {
+            PPluginStreamParent* actor =
+                static_cast<PPluginStreamParent*>(aProtocol);
+            return static_cast<PluginInstanceParent*>(actor->Manager());
+        }
         case PStreamNotifyMsgStart: {
             PStreamNotifyParent* actor =
                 static_cast<PStreamNotifyParent*>(aProtocol);
             return static_cast<PluginInstanceParent*>(actor->Manager());
         }
 #ifdef XP_WIN
         case PPluginSurfaceMsgStart: {
             PPluginSurfaceParent* actor =
new file mode 100644
--- /dev/null
+++ b/dom/plugins/ipc/PluginStreamChild.cpp
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
+/* 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 "PluginStreamChild.h"
+#include "mozilla/plugins/PluginInstanceChild.h"
+
+namespace mozilla {
+namespace plugins {
+
+PluginStreamChild::PluginStreamChild()
+  : mClosed(false)
+{
+  memset(&mStream, 0, sizeof(mStream));
+  mStream.ndata = static_cast<AStream*>(this);
+}
+
+mozilla::ipc::IPCResult
+PluginStreamChild::Answer__delete__(const NPReason& reason,
+                                    const bool& artificial)
+{
+  AssertPluginThread();
+  if (!artificial)
+    NPP_DestroyStream(reason);
+  return IPC_OK();
+}
+
+int32_t
+PluginStreamChild::NPN_Write(int32_t length, void* buffer)
+{
+  AssertPluginThread();
+
+  int32_t written = 0;
+  CallNPN_Write(nsCString(static_cast<char*>(buffer), length),
+                &written);
+  if (written < 0)
+    PPluginStreamChild::Call__delete__(this, NPERR_GENERIC_ERROR, true);
+  // careful after here! |this| just got deleted
+
+  return written;
+}
+
+void
+PluginStreamChild::NPP_DestroyStream(NPError reason)
+{
+  AssertPluginThread();
+
+  if (mClosed)
+    return;
+
+  mClosed = true;
+  Instance()->mPluginIface->destroystream(
+    &Instance()->mData, &mStream, reason);
+}
+
+PluginInstanceChild*
+PluginStreamChild::Instance()
+{
+  return static_cast<PluginInstanceChild*>(Manager());
+}
+
+} // namespace plugins
+} // namespace mozilla
new file mode 100644
--- /dev/null
+++ b/dom/plugins/ipc/PluginStreamChild.h
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
+/* 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_plugins_PluginStreamChild_h
+#define mozilla_plugins_PluginStreamChild_h
+
+#include "mozilla/plugins/PPluginStreamChild.h"
+#include "mozilla/plugins/AStream.h"
+
+namespace mozilla {
+namespace plugins {
+
+class PluginInstanceChild;
+
+class PluginStreamChild : public PPluginStreamChild, public AStream
+{
+  friend class PluginInstanceChild;
+
+public:
+  PluginStreamChild();
+  virtual ~PluginStreamChild() { }
+
+  virtual bool IsBrowserStream() override { return false; }
+
+  virtual mozilla::ipc::IPCResult Answer__delete__(const NPReason& reason,
+                                                   const bool& artificial) override;
+
+  int32_t NPN_Write(int32_t length, void* buffer);
+  void NPP_DestroyStream(NPError reason);
+
+  void EnsureCorrectInstance(PluginInstanceChild* i)
+  {
+    if (i != Instance())
+      MOZ_CRASH("Incorrect stream instance");
+  }
+  void EnsureCorrectStream(NPStream* s)
+  {
+    if (s != &mStream)
+      MOZ_CRASH("Incorrect stream data");
+  }
+
+private:
+  PluginInstanceChild* Instance();
+
+  NPStream mStream;
+  bool mClosed;
+};
+
+
+} // namespace plugins
+} // namespace mozilla
+
+#endif
new file mode 100644
--- /dev/null
+++ b/dom/plugins/ipc/PluginStreamParent.cpp
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
+/* 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 "PluginStreamParent.h"
+#include "PluginInstanceParent.h"
+
+namespace mozilla {
+namespace plugins {
+
+PluginStreamParent::PluginStreamParent(PluginInstanceParent* npp,
+                                       const nsCString& mimeType,
+                                       const nsCString& target,
+                                       NPError* result)
+  : mInstance(npp)
+  , mClosed(false)
+{
+  *result = mInstance->mNPNIface->newstream(mInstance->mNPP,
+                                            const_cast<char*>(mimeType.get()),
+                                            NullableStringGet(target),
+                                            &mStream);
+  if (*result == NPERR_NO_ERROR)
+    mStream->pdata = static_cast<AStream*>(this);
+  else
+    mStream = nullptr;
+}
+
+void
+PluginStreamParent::ActorDestroy(ActorDestroyReason aWhy)
+{
+  // Implement me! Bug 1005166
+}
+
+mozilla::ipc::IPCResult
+PluginStreamParent::AnswerNPN_Write(const Buffer& data, int32_t* written)
+{
+  if (mClosed) {
+    *written = -1;
+    return IPC_OK();
+  }
+
+  *written = mInstance->mNPNIface->write(mInstance->mNPP, mStream,
+                                         data.Length(),
+                                         const_cast<char*>(data.get()));
+  if (*written < 0)
+    mClosed = true;
+
+  return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
+PluginStreamParent::Answer__delete__(const NPError& reason,
+                                     const bool& artificial)
+{
+  if (!artificial)
+    this->NPN_DestroyStream(reason);
+  return IPC_OK();
+}
+
+void
+PluginStreamParent::NPN_DestroyStream(NPReason reason)
+{
+  if (mClosed)
+    return;
+
+  mInstance->mNPNIface->destroystream(mInstance->mNPP, mStream, reason);
+  mClosed = true;
+}
+
+} // namespace plugins
+} // namespace mozilla
new file mode 100644
--- /dev/null
+++ b/dom/plugins/ipc/PluginStreamParent.h
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
+/* 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_plugins_PluginStreamParent_h
+#define mozilla_plugins_PluginStreamParent_h
+
+#include "mozilla/plugins/PPluginStreamParent.h"
+#include "mozilla/plugins/AStream.h"
+
+namespace mozilla {
+namespace plugins {
+
+class PluginInstanceParent;
+
+class PluginStreamParent : public PPluginStreamParent, public AStream
+{
+  friend class PluginModuleParent;
+  friend class PluginInstanceParent;
+
+public:
+  PluginStreamParent(PluginInstanceParent* npp, const nsCString& mimeType,
+                     const nsCString& target, NPError* result);
+  virtual ~PluginStreamParent() { }
+
+  virtual bool IsBrowserStream() override { return false; }
+
+  virtual void ActorDestroy(ActorDestroyReason aWhy) override;
+
+  virtual mozilla::ipc::IPCResult AnswerNPN_Write(const Buffer& data, int32_t* written) override;
+
+  virtual mozilla::ipc::IPCResult Answer__delete__(const NPError& reason, const bool& artificial) override;
+
+private:
+  void NPN_DestroyStream(NPReason reason);
+
+  PluginInstanceParent* mInstance;
+  NPStream* mStream;
+  bool mClosed;
+};
+
+} // namespace plugins
+} // namespace mozilla
+
+#endif
--- a/dom/plugins/ipc/moz.build
+++ b/dom/plugins/ipc/moz.build
@@ -29,16 +29,18 @@ EXPORTS.mozilla.plugins += [
     'PluginModuleParent.h',
     'PluginProcessChild.h',
     'PluginProcessParent.h',
     'PluginQuirks.h',
     'PluginScriptableObjectChild.h',
     'PluginScriptableObjectParent.h',
     'PluginScriptableObjectUtils-inl.h',
     'PluginScriptableObjectUtils.h',
+    'PluginStreamChild.h',
+    'PluginStreamParent.h',
     'PluginUtilsOSX.h',
     'StreamNotifyChild.h',
     'StreamNotifyParent.h',
 ]
 
 if CONFIG['OS_ARCH'] == 'WINNT':
     EXPORTS.mozilla.plugins += [
         'PluginSurfaceParent.h',
@@ -70,16 +72,18 @@ UNIFIED_SOURCES += [
     'PluginInstanceParent.cpp',
     'PluginMessageUtils.cpp',
     'PluginModuleParent.cpp',
     'PluginProcessChild.cpp',
     'PluginProcessParent.cpp',
     'PluginQuirks.cpp',
     'PluginScriptableObjectChild.cpp',
     'PluginScriptableObjectParent.cpp',
+    'PluginStreamChild.cpp',
+    'PluginStreamParent.cpp',
 ]
 
 SOURCES += [
     'PluginInstanceChild.cpp', # 'PluginThreadCallback' : ambiguous symbol
     'PluginModuleChild.cpp',   # Redefinition of mozilla::WindowsDllInterceptor sUser32Intercept
 ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
@@ -104,16 +108,17 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind
 
 IPDL_SOURCES += [
     'PBrowserStream.ipdl',
     'PluginTypes.ipdlh',
     'PPluginBackgroundDestroyer.ipdl',
     'PPluginInstance.ipdl',
     'PPluginModule.ipdl',
     'PPluginScriptableObject.ipdl',
+    'PPluginStream.ipdl',
     'PPluginSurface.ipdl',
     'PStreamNotify.ipdl',
 ]
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
 LOCAL_INCLUDES += [
--- a/dom/plugins/test/testplugin/nptest.cpp
+++ b/dom/plugins/test/testplugin/nptest.cpp
@@ -473,43 +473,78 @@ static void sendBufferToFrame(NPP instan
   }
   else if (bufsize > 0) {
     outbuf.append(buf);
   }
   else {
     outbuf.append("Error: no data in buffer");
   }
 
-  // Convert CRLF to LF, and escape most other non-alphanumeric chars.
-  for (size_t i = 0; i < outbuf.length(); i++) {
-    if (outbuf[i] == '\n') {
-      outbuf.replace(i, 1, "%0a");
-      i += 2;
+  if (instanceData->npnNewStream &&
+      instanceData->err.str().length() == 0) {
+    char typeHTML[] = "text/html";
+    NPStream* stream;
+    printf("calling NPN_NewStream...");
+    NPError err = NPN_NewStream(instance, typeHTML,
+        instanceData->frame.c_str(), &stream);
+    printf("return value %d\n", err);
+    if (err != NPERR_NO_ERROR) {
+      instanceData->err << "NPN_NewStream returned " << err;
+      return;
     }
-    else if (outbuf[i] == '\r') {
-      outbuf.replace(i, 1, "");
-      i -= 1;
+
+    int32_t bytesToWrite = outbuf.length();
+    int32_t bytesWritten = 0;
+    while ((bytesToWrite - bytesWritten) > 0) {
+      int32_t numBytes = (bytesToWrite - bytesWritten) <
+          instanceData->streamChunkSize ?
+          bytesToWrite - bytesWritten : instanceData->streamChunkSize;
+      int32_t written = NPN_Write(instance, stream,
+          numBytes, (void*)(outbuf.c_str() + bytesWritten));
+      if (written <= 0) {
+        instanceData->err << "NPN_Write returned " << written;
+        break;
+      }
+      bytesWritten += numBytes;
+      printf("%d bytes written, total %d\n", written, bytesWritten);
     }
-    else {
-      int ascii = outbuf[i];
-      if (!((ascii >= ',' && ascii <= ';') ||
-            (ascii >= 'A' && ascii <= 'Z') ||
-            (ascii >= 'a' && ascii <= 'z'))) {
-        char hex[10];
-        sprintf(hex, "%%%x", ascii);
-        outbuf.replace(i, 1, hex);
+    err = NPN_DestroyStream(instance, stream, NPRES_DONE);
+    if (err != NPERR_NO_ERROR) {
+      instanceData->err << "NPN_DestroyStream returned " << err;
+    }
+  }
+  else {
+    // Convert CRLF to LF, and escape most other non-alphanumeric chars.
+    for (size_t i = 0; i < outbuf.length(); i++) {
+      if (outbuf[i] == '\n') {
+        outbuf.replace(i, 1, "%0a");
         i += 2;
       }
+      else if (outbuf[i] == '\r') {
+        outbuf.replace(i, 1, "");
+        i -= 1;
+      }
+      else {
+        int ascii = outbuf[i];
+        if (!((ascii >= ',' && ascii <= ';') ||
+              (ascii >= 'A' && ascii <= 'Z') ||
+              (ascii >= 'a' && ascii <= 'z'))) {
+          char hex[10];
+          sprintf(hex, "%%%x", ascii);
+          outbuf.replace(i, 1, hex);
+          i += 2;
+        }
+      }
     }
-  }
-
-  NPError err = NPN_GetURL(instance, outbuf.c_str(),
-                           instanceData->frame.c_str());
-  if (err != NPERR_NO_ERROR) {
-    instanceData->err << "NPN_GetURL returned " << err;
+
+    NPError err = NPN_GetURL(instance, outbuf.c_str(),
+                             instanceData->frame.c_str());
+    if (err != NPERR_NO_ERROR) {
+      instanceData->err << "NPN_GetURL returned " << err;
+    }
   }
 }
 
 static void XPSleep(unsigned int seconds)
 {
 #ifdef XP_WIN
   Sleep(1000 * seconds);
 #else
@@ -812,16 +847,17 @@ NPP_New(NPMIMEType pluginType, NPP insta
   memset(&instanceData->window, 0, sizeof(instanceData->window));
   instanceData->crashOnDestroy = false;
   instanceData->cleanupWidget = true; // only used by nptest_gtk
   instanceData->topLevelWindowActivationState = ACTIVATION_STATE_UNKNOWN;
   instanceData->topLevelWindowActivationEventCount = 0;
   instanceData->focusState = ACTIVATION_STATE_UNKNOWN;
   instanceData->focusEventCount = 0;
   instanceData->eventModel = 0;
+  instanceData->closeStream = false;
   instanceData->wantsAllStreams = false;
   instanceData->mouseUpEventCount = 0;
   instanceData->bugMode = -1;
   instanceData->asyncDrawing = AD_NONE;
   instanceData->frontBuffer = nullptr;
   instanceData->backBuffer = nullptr;
   instanceData->placeholderWnd = nullptr;
   instanceData->cssZoomFactor = 1.0;
@@ -943,16 +979,19 @@ NPP_New(NPMIMEType pluginType, NPP insta
     // "cleanupwidget" is only used with nptest_gtk, defaulting to true.  It
     // indicates whether the plugin should destroy its window in response to
     // NPP_Destroy (or let the platform destroy the widget when the parent
     // window gets destroyed).
     if (strcmp(argn[i], "cleanupwidget") == 0 &&
         strcmp(argv[i], "false") == 0) {
       instanceData->cleanupWidget = false;
     }
+    if (!strcmp(argn[i], "closestream")) {
+      instanceData->closeStream = true;
+    }
     if (strcmp(argn[i], "bugmode") == 0) {
       instanceData->bugMode = atoi(argv[i]);
     }
     // Try to emulate java's codebase handling: Use the last seen codebase
     // value, regardless of whether it is in attributes or params.
     if (strcasecmp(argn[i], "codebase") == 0) {
       instanceData->javaCodebase = argv[i];
     }
@@ -1374,17 +1413,25 @@ NPP_Write(NPP instance, NPStream* stream
 
   if (nd && nd != &kNotifyData) {
     uint32_t newsize = nd->size + len;
     nd->data = (char*) realloc(nd->data, newsize);
     memcpy(nd->data + nd->size, buffer, len);
     nd->size = newsize;
     return len;
   }
-  if (instanceData->streamMode == NP_SEEK &&
+
+  if (instanceData->closeStream) {
+    instanceData->closeStream = false;
+    if (instanceData->testrange != nullptr) {
+      NPN_RequestRead(stream, instanceData->testrange);
+    }
+    NPN_DestroyStream(instance, stream, NPRES_USER_BREAK);
+  }
+  else if (instanceData->streamMode == NP_SEEK &&
       stream->end != 0 &&
       stream->end == ((uint32_t)instanceData->streamBufSize + len)) {
     // If the complete stream has been written, and we're doing a seek test,
     // then call NPN_RequestRead.
     // prevent recursion
     instanceData->streamMode = NP_NORMAL;
 
     if (instanceData->testrange != nullptr) {
@@ -1401,23 +1448,31 @@ NPP_Write(NPP instance, NPStream* stream
     if (memcmp(buffer, streamBuf + offset, len)) {
       instanceData->err <<
           "Error: data written from NPN_RequestRead doesn't match";
     }
     else {
       printf("data matches!\n");
     }
     TestRange* range = instanceData->testrange;
+    bool stillwaiting = false;
     while(range != nullptr) {
       if (offset == range->offset &&
         (uint32_t)len == range->length) {
         range->waiting = false;
       }
+      if (range->waiting) stillwaiting = true;
       range = reinterpret_cast<TestRange*>(range->next);
     }
+    if (!stillwaiting) {
+      NPError err = NPN_DestroyStream(instance, stream, NPRES_DONE);
+      if (err != NPERR_NO_ERROR) {
+        instanceData->err << "Error: NPN_DestroyStream returned " << err;
+      }
+    }
   }
   else {
     if (instanceData->streamBufSize == 0) {
       instanceData->streamBuf = malloc(len + 1);
       streamBuf = reinterpret_cast<char *>(instanceData->streamBuf);
     }
     else {
       instanceData->streamBuf =
@@ -1849,17 +1904,39 @@ NPN_PostURLNotify(NPP instance, const ch
 NPError
 NPN_PostURL(NPP instance, const char *url,
                     const char *target, uint32_t len,
                     const char *buf, NPBool file)
 {
   return sBrowserFuncs->posturl(instance, url, target, len, buf, file);
 }
 
-
+NPError
+NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason)
+{
+  return sBrowserFuncs->destroystream(instance, stream, reason);
+}
+
+NPError
+NPN_NewStream(NPP instance,
+              NPMIMEType  type,
+              const char* target,
+              NPStream**  stream)
+{
+  return sBrowserFuncs->newstream(instance, type, target, stream);
+}
+
+int32_t
+NPN_Write(NPP instance,
+          NPStream* stream,
+          int32_t len,
+          void* buf)
+{
+  return sBrowserFuncs->write(instance, stream, len, buf);
+}
 
 bool
 NPN_Enumerate(NPP instance,
               NPObject *npobj,
               NPIdentifier **identifiers,
               uint32_t *identifierCount)
 {
   return sBrowserFuncs->enumerate(instance, npobj, identifiers,
--- a/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.h
+++ b/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.h
@@ -3,16 +3,18 @@
  * 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_GFX_MACIOSURFACETEXTUREHOSTOGL_H
 #define MOZILLA_GFX_MACIOSURFACETEXTUREHOSTOGL_H
 
 #include "mozilla/layers/CompositorOGL.h"
 #include "mozilla/layers/TextureHostOGL.h"
+#include "mozilla/gfx/2D.h"
+#include "MacIOSurfaceHelpers.h"
 
 class MacIOSurface;
 
 namespace mozilla {
 namespace layers {
 
 /**
  * A TextureHost for shared MacIOSurface
@@ -39,17 +41,18 @@ public:
   virtual bool BindTextureSource(CompositableTextureSourceRef& aTexture) override
   {
     aTexture = mTextureSource;
     return !!aTexture;
   }
 
   virtual already_AddRefed<gfx::DataSourceSurface> GetAsSurface() override
   {
-    return nullptr; // XXX - implement this (for MOZ_DUMP_PAINTING)
+    RefPtr<gfx::SourceSurface> surf = CreateSourceSurfaceFromMacIOSurface(GetMacIOSurface());
+    return surf->GetDataSurface();
   }
 
   gl::GLContext* gl() const;
 
   virtual gfx::IntSize GetSize() const override;
 
 #ifdef MOZ_LAYERS_HAVE_LOG
   virtual const char* Name() override { return "MacIOSurfaceTextureHostOGL"; }
--- a/gfx/layers/wr/WebRenderBridgeParent.cpp
+++ b/gfx/layers/wr/WebRenderBridgeParent.cpp
@@ -51,16 +51,21 @@ bool is_glcontext_egl(void* glcontext_pt
 
   mozilla::gl::GLContext* glcontext = reinterpret_cast<mozilla::gl::GLContext*>(glcontext_ptr);
   if (!glcontext) {
     return false;
   }
   return glcontext->GetContextType() == mozilla::gl::GLContextType::EGL;
 }
 
+bool gfx_use_wrench()
+{
+  return gfxEnv::EnableWebRenderRecording();
+}
+
 void gfx_critical_note(const char* msg)
 {
   gfxCriticalNote << msg;
 }
 
 void* get_proc_address_from_glcontext(void* glcontext_ptr, const char* procname)
 {
   MOZ_ASSERT(glcontext_ptr);
@@ -569,25 +574,27 @@ WebRenderBridgeParent::ProcessWebRenderP
         MOZ_ASSERT(mActiveImageKeys.find(wr::AsUint64(keys[0])) == mActiveImageKeys.end());
         mActiveImageKeys.insert(wr::AsUint64(keys[0]));
 
         RefPtr<WebRenderImageHost> host = mExternalImageIds.Get(wr::AsUint64(op.externalImageId()));
         if (!host) {
           NS_ERROR("CompositableHost does not exist");
           break;
         }
-        TextureHost* texture = host->GetAsTextureHostForComposite();
-        if (!texture) {
-          NS_ERROR("TextureHost does not exist");
-          break;
-        }
-        WebRenderTextureHost* wrTexture = texture->AsWebRenderTextureHost();
-        if (wrTexture) {
-          wrTexture->AddWRImage(mApi, keys, wrTexture->GetExternalImageKey());
-          break;
+        if (!gfxEnv::EnableWebRenderRecording()) {
+          TextureHost* texture = host->GetAsTextureHostForComposite();
+          if (!texture) {
+            NS_ERROR("TextureHost does not exist");
+            break;
+          }
+          WebRenderTextureHost* wrTexture = texture->AsWebRenderTextureHost();
+          if (wrTexture) {
+            wrTexture->AddWRImage(mApi, keys, wrTexture->GetExternalImageKey());
+            break;
+          }
         }
         RefPtr<DataSourceSurface> dSurf = host->GetAsSurface();
         if (!dSurf) {
           NS_ERROR("TextureHost does not return DataSourceSurface");
           break;
         }
 
         DataSourceSurface::MappedSurface map;
--- a/gfx/layers/wr/WebRenderCompositableHolder.cpp
+++ b/gfx/layers/wr/WebRenderCompositableHolder.cpp
@@ -1,16 +1,17 @@
 /* -*- Mode: C++; tab-width: 20; 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 "WebRenderCompositableHolder.h"
 
 #include "CompositableHost.h"
+#include "gfxEnv.h"
 #include "mozilla/gfx/gfxVars.h"
 #include "mozilla/layers/WebRenderImageHost.h"
 #include "mozilla/layers/WebRenderTextureHost.h"
 #include "mozilla/webrender/WebRenderAPI.h"
 
 namespace mozilla {
 namespace layers {
 
@@ -156,17 +157,17 @@ WebRenderCompositableHolder::UpdateAsync
 bool
 WebRenderCompositableHolder::GetImageKeyForTextureHost(wr::WebRenderAPI* aApi, TextureHost* aTexture, nsTArray<wr::ImageKey>& aKeys)
 {
   MOZ_ASSERT(aKeys.IsEmpty());
   MOZ_ASSERT(aTexture);
 
   WebRenderTextureHost* wrTexture = aTexture->AsWebRenderTextureHost();
 
-  if (wrTexture) {
+  if (!gfxEnv::EnableWebRenderRecording() && wrTexture) {
     wrTexture->GetWRImageKeys(aKeys, std::bind(&WebRenderCompositableHolder::GetImageKey, this));
     MOZ_ASSERT(!aKeys.IsEmpty());
     Range<const wr::ImageKey> keys(&aKeys[0], aKeys.Length());
     wrTexture->AddWRImage(aApi, keys, wrTexture->GetExternalImageKey());
     return true;
   } else {
     RefPtr<gfx::DataSourceSurface> dSurf = aTexture->GetAsSurface();
     if (!dSurf) {
--- a/gfx/thebes/gfxEnv.h
+++ b/gfx/thebes/gfxEnv.h
@@ -29,16 +29,19 @@ public:
   // This is where DECL_GFX_ENV for each of the environment variables should go.
   // We will keep these in an alphabetical order by the environment variable,
   // to make it easier to see if a method accessing an entry already exists.
   // Just insert yours in the list.
 
   // Debugging inside of ContainerLayerComposite
   DECL_GFX_ENV("DUMP_DEBUG", DumpDebug);
 
+  // Use WR recording
+  DECL_GFX_ENV("ENABLE_WR_RENDERING", EnableWebRenderRecording);
+
   // OpenGL shader debugging in OGLShaderProgram, in DEBUG only
   DECL_GFX_ENV("MOZ_DEBUG_SHADERS", DebugShaders);
 
   // Disabling context sharing in GLContextProviderGLX
   DECL_GFX_ENV("MOZ_DISABLE_CONTEXT_SHARING_GLX", DisableContextSharingGlx);
 
   // Disabling the crash guard in DriverCrashGuard
   DECL_GFX_ENV("MOZ_DISABLE_CRASH_GUARD", DisableCrashGuard);
--- a/gfx/webrender_bindings/src/bindings.rs
+++ b/gfx/webrender_bindings/src/bindings.rs
@@ -14,23 +14,16 @@ use thread_profiler::register_thread_wit
 use moz2d_renderer::Moz2dImageRenderer;
 use app_units::Au;
 use euclid::{TypedPoint2D, TypedSize2D, TypedRect, TypedTransform3D, SideOffsets2D};
 use euclid::TypedVector2D;
 use rayon;
 
 extern crate webrender_api;
 
-// Enables binary recording that can be used with `wrench replay`
-// Outputs a wr-record-*.bin file for each window that is shown
-// Note: wrench will panic if external images are used, they can
-// be disabled in WebRenderBridgeParent::ProcessWebRenderCommands
-// by commenting out the path that adds an external image ID
-static ENABLE_RECORDING: bool = false;
-
 type WrAPI = RenderApi;
 type WrBorderStyle = BorderStyle;
 type WrBoxShadowClipMode = BoxShadowClipMode;
 type WrBuiltDisplayListDescriptor = BuiltDisplayListDescriptor;
 type WrImageFormat = ImageFormat;
 type WrImageRendering = ImageRendering;
 type WrMixBlendMode = MixBlendMode;
 type WrTransformStyle = TransformStyle;
@@ -656,16 +649,22 @@ fn get_proc_address(glcontext_ptr: *mut 
     symbol as *const _
 }
 
 extern "C" {
     fn is_in_compositor_thread() -> bool;
     fn is_in_render_thread() -> bool;
     fn is_in_main_thread() -> bool;
     fn is_glcontext_egl(glcontext_ptr: *mut c_void) -> bool;
+    // Enables binary recording that can be used with `wrench replay`
+    // Outputs a wr-record-*.bin file for each window that is shown
+    // Note: wrench will panic if external images are used, they can
+    // be disabled in WebRenderBridgeParent::ProcessWebRenderCommands
+    // by commenting out the path that adds an external image ID
+    fn gfx_use_wrench() -> bool;
     fn gfx_critical_note(msg: *const c_char);
 }
 
 struct CppNotifier {
     window_id: WrWindowId,
 }
 
 unsafe impl Send for CppNotifier {}
@@ -829,17 +828,17 @@ pub extern "C" fn wr_window_new(window_i
                                 gl_context: *mut c_void,
                                 thread_pool: *mut WrThreadPool,
                                 enable_profiler: bool,
                                 out_api: &mut *mut WrAPI,
                                 out_renderer: &mut *mut WrRenderer)
                                 -> bool {
     assert!(unsafe { is_in_render_thread() });
 
-    let recorder: Option<Box<ApiRecordingReceiver>> = if ENABLE_RECORDING {
+    let recorder: Option<Box<ApiRecordingReceiver>> = if unsafe { gfx_use_wrench() } {
         let name = format!("wr-record-{}.bin", window_id.0);
         Some(Box::new(BinaryRecorder::new(&PathBuf::from(name))))
     } else {
         None
     };
 
     let gl;
     if unsafe { is_glcontext_egl(gl_context) } {
--- a/gfx/webrender_bindings/webrender_ffi.h
+++ b/gfx/webrender_bindings/webrender_ffi.h
@@ -15,16 +15,17 @@ extern "C" {
 // ----
 // Functions invoked from Rust code
 // ----
 
 bool is_in_compositor_thread();
 bool is_in_main_thread();
 bool is_in_render_thread();
 bool is_glcontext_egl(void* glcontext_ptr);
+bool gfx_use_wrench();
 void gfx_critical_note(const char* msg);
 void* get_proc_address_from_glcontext(void* glcontext_ptr, const char* procname);
 
 } // extern "C"
 
 // Some useful defines to stub out webrender binding functions for when we
 // build gecko without webrender. We try to tell the compiler these functions
 // are unreachable in that case, but VC++ emits a warning if it finds any
--- a/ipc/ipdl/sync-messages.ini
+++ b/ipc/ipdl/sync-messages.ini
@@ -742,16 +742,18 @@ description =
 [PPluginInstance::NPN_SetValueForURL]
 description =
 [PPluginInstance::NPN_ConvertPoint]
 description =
 [PPluginInstance::GetCompositionString]
 description =
 [PPluginInstance::NPP_NewStream]
 description =
+[PPluginInstance::PPluginStream]
+description =
 [PPluginInstance::PluginFocusChange]
 description =
 [PPluginInstance::SetPluginFocus]
 description =
 [PPluginInstance::UpdateWindow]
 description =
 [PPluginModule::ModuleSupportsAsyncRender]
 description =
--- a/js/src/jit/BaselineCompiler.cpp
+++ b/js/src/jit/BaselineCompiler.cpp
@@ -4042,19 +4042,21 @@ static const VMFunction ToIdInfo = Funct
 
 bool
 BaselineCompiler::emit_JSOP_TOID()
 {
     // Load index in R0, but keep values on the stack for the decompiler.
     frame.syncStack(0);
     masm.loadValue(frame.addressOfStackValue(frame.peek(-1)), R0);
 
-    // No-op if index is int32.
+    // No-op if the index is trivally convertable to an id.
     Label done;
     masm.branchTestInt32(Assembler::Equal, R0, &done);
+    masm.branchTestString(Assembler::Equal, R0, &done);
+    masm.branchTestSymbol(Assembler::Equal, R0, &done);
 
     prepareVMCall();
 
     pushArg(R0);
     pushArg(ImmPtr(pc));
     pushArg(ImmGCPtr(script));
 
     if (!callVM(ToIdInfo))
--- a/js/src/jit/IonBuilder.cpp
+++ b/js/src/jit/IonBuilder.cpp
@@ -12472,18 +12472,19 @@ IonBuilder::jsop_toasynciter()
     current->push(ins);
 
     return resumeAfter(ins);
 }
 
 AbortReasonOr<Ok>
 IonBuilder::jsop_toid()
 {
-    // No-op if the index is an integer.
-    if (current->peek(-1)->type() == MIRType::Int32)
+    // No-op if the index is trivally convertable to an id.
+    MIRType type = current->peek(-1)->type();
+    if (type == MIRType::Int32 || type == MIRType::String || type == MIRType::Symbol)
         return Ok();
 
     MDefinition* index = current->pop();
     MToId* ins = MToId::New(alloc(), index);
 
     current->add(ins);
     current->push(ins);
 
--- a/js/src/jit/IonIC.cpp
+++ b/js/src/jit/IonIC.cpp
@@ -184,17 +184,17 @@ IonGetPropertyIC::update(JSContext* cx, 
             TypeScript::Monitor(cx, ic->script(), ic->pc(), res);
     }
 
     return true;
 }
 
 /* static */ bool
 IonSetPropertyIC::update(JSContext* cx, HandleScript outerScript, IonSetPropertyIC* ic,
-			 HandleObject obj, HandleValue idVal, HandleValue rhs)
+                         HandleObject obj, HandleValue idVal, HandleValue rhs)
 {
     RootedShape oldShape(cx);
     RootedObjectGroup oldGroup(cx);
     IonScript* ionScript = outerScript->ionScript();
 
     bool attached = false;
     bool isTemporarilyUnoptimizable = false;
 
@@ -221,32 +221,40 @@ IonSetPropertyIC::update(JSContext* cx, 
         if (gen.tryAttachStub()) {
             ic->attachCacheIRStub(cx, gen.writerRef(), gen.cacheKind(), ionScript, &attached,
                                   gen.typeCheckInfo());
         }
     }
 
     jsbytecode* pc = ic->pc();
     if (ic->kind() == CacheKind::SetElem) {
-        if (IsPropertyInitOp(JSOp(*pc))) {
+        if (*pc == JSOP_INITELEM_INC) {
+            if (!InitArrayElemOperation(cx, pc, obj, idVal.toInt32(), rhs))
+                return false;
+        } else if (IsPropertyInitOp(JSOp(*pc))) {
             if (!InitElemOperation(cx, pc, obj, idVal, rhs))
                 return false;
         } else {
             MOZ_ASSERT(IsPropertySetOp(JSOp(*pc)));
             if (!SetObjectElement(cx, obj, idVal, rhs, ic->strict()))
                 return false;
         }
     } else {
         MOZ_ASSERT(ic->kind() == CacheKind::SetProp);
 
         if (*pc == JSOP_INITGLEXICAL) {
             RootedScript script(cx, ic->script());
             MOZ_ASSERT(!script->hasNonSyntacticScope());
             InitGlobalLexicalOperation(cx, &cx->global()->lexicalEnvironment(), script, pc, rhs);
+        } else if (IsPropertyInitOp(JSOp(*pc))) {
+            RootedId id(cx, AtomToId(&idVal.toString()->asAtom()));
+            if (!InitPropertyOperation(cx, JSOp(*pc), obj, id, rhs))
+                return false;
         } else {
+            MOZ_ASSERT(IsPropertySetOp(JSOp(*pc)));
             RootedPropertyName name(cx, idVal.toString()->asAtom().asPropertyName());
             if (!SetProperty(cx, obj, name, rhs, ic->strict(), pc))
                 return false;
         }
     }
 
     if (attached)
         return true;
--- a/js/src/vm/Interpreter-inl.h
+++ b/js/src/vm/Interpreter-inl.h
@@ -644,17 +644,17 @@ InitElemOperation(JSContext* cx, jsbytec
     MOZ_ASSERT(!val.isMagic(JS_ELEMENTS_HOLE));
     MOZ_ASSERT(!obj->getClass()->getGetProperty());
     MOZ_ASSERT(!obj->getClass()->getSetProperty());
 
     RootedId id(cx);
     if (!ToPropertyKey(cx, idval, &id))
         return false;
 
-    unsigned flags = JSOp(*pc) == JSOP_INITHIDDENELEM ? 0 : JSPROP_ENUMERATE;
+    unsigned flags = GetInitDataPropAttrs(JSOp(*pc));
     return DefineProperty(cx, obj, id, val, nullptr, nullptr, flags);
 }
 
 static MOZ_ALWAYS_INLINE bool
 InitArrayElemOperation(JSContext* cx, jsbytecode* pc, HandleObject obj, uint32_t index, HandleValue val)
 {
     JSOp op = JSOp(*pc);
     MOZ_ASSERT(op == JSOP_INITELEM_ARRAY || op == JSOP_INITELEM_INC);
--- a/js/src/vm/Interpreter.cpp
+++ b/js/src/vm/Interpreter.cpp
@@ -4756,20 +4756,22 @@ js::RunOnceScriptPrologue(JSContext* cx,
     return true;
 }
 
 unsigned
 js::GetInitDataPropAttrs(JSOp op)
 {
     switch (op) {
       case JSOP_INITPROP:
+      case JSOP_INITELEM:
         return JSPROP_ENUMERATE;
       case JSOP_INITLOCKEDPROP:
         return JSPROP_PERMANENT | JSPROP_READONLY;
       case JSOP_INITHIDDENPROP:
+      case JSOP_INITHIDDENELEM:
         // Non-enumerable, but writable and configurable
         return 0;
       default:;
     }
     MOZ_CRASH("Unknown data initprop");
 }
 
 bool
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -5790,24 +5790,25 @@ pref("dom.payments.request.enabled", fal
 
 #ifdef FUZZING
 pref("fuzzing.enabled", false);
 #endif
 
 #if defined(XP_WIN)
 #if defined(NIGHTLY_BUILD)
 pref("layers.mlgpu.dev-enabled", true);
-#else
-pref("layers.mlgpu.dev-enabled", false);
-#endif
 
 // Both this and the master "enabled" pref must be on to use Advanced Layers
 // on Windows 7.
+pref("layers.mlgpu.enable-on-windows7", true);
+#else
+pref("layers.mlgpu.dev-enabled", false);
 pref("layers.mlgpu.enable-on-windows7", false);
 #endif
+#endif
 
 // Set advanced layers preferences here to have them show up in about:config or
 // to be overridable in reftest.list files. They should pretty much all be set
 // to a value of 2, and the conditional-pref code in gfxPrefs.h will convert
 // it to a boolean as appropriate. In particular, do NOT add ifdefs here to
 // turn these on and off, instead use the conditional-pref code in gfxPrefs.h
 // to do that.
 pref("layers.advanced.background-color", 2);
--- a/security/manager/ssl/StaticHPKPins.h
+++ b/security/manager/ssl/StaticHPKPins.h
@@ -1144,9 +1144,9 @@ static const TransportSecurityPreload kP
   { "za.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
   { "zh.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
 };
 
 // Pinning Preload List Length = 480;
 
 static const int32_t kUnknownId = -1;
 
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1508603079359000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1508688905636000);
--- a/security/manager/ssl/nsSTSPreloadList.errors
+++ b/security/manager/ssl/nsSTSPreloadList.errors
@@ -47,17 +47,17 @@ 247loan.com: max-age too low: 0
 24hourpaint.com: could not connect to host
 24sihu.com: could not connect to host
 25daysof.io: could not connect to host
 2859cc.com: could not connect to host
 2bizi.ru: could not connect to host
 2brokegirls.org: could not connect to host
 2intermediate.co.uk: did not receive HSTS header
 2or3.tk: could not connect to host
-2ss.jp: did not receive HSTS header
+2ss.jp: could not connect to host
 300651.ru: did not receive HSTS header
 300m.com: did not receive HSTS header
 300mbmovies4u.cc: could not connect to host
 301.website: could not connect to host
 302.nyc: could not connect to host
 32ph.com: could not connect to host
 33drugstore.com: did not receive HSTS header
 360gradus.com: did not receive HSTS header
@@ -101,19 +101,19 @@ 960news.ca: could not connect to host
 9651678.ru: could not connect to host
 99511.fi: did not receive HSTS header
 9jadirect.com: could not connect to host
 9point6.com: could not connect to host
 9tolife.be: did not receive HSTS header
 a-plus.space: could not connect to host
 a-theme.com: could not connect to host
 a9c.co: could not connect to host
-aaeblog.com: did not receive HSTS header
-aaeblog.net: did not receive HSTS header
-aaeblog.org: did not receive HSTS header
+aaeblog.com: could not connect to host
+aaeblog.net: could not connect to host
+aaeblog.org: could not connect to host
 aaoo.net: could not connect to host
 aapp.space: could not connect to host
 aaron-gustafson.com: did not receive HSTS header
 aati.info: did not receive HSTS header
 abareplace.com: did not receive HSTS header
 abearofsoap.com: could not connect to host
 abecodes.net: did not receive HSTS header
 abilitylist.org: did not receive HSTS header
@@ -124,22 +124,22 @@ about.ge: did not receive HSTS header
 abouthrm.nl: did not receive HSTS header
 aboutict.nl: did not receive HSTS header
 aboutlegal.nl: did not receive HSTS header
 aboutmedia.nl: did not receive HSTS header
 aboutmyip.info: did not receive HSTS header
 aboutyou-deals.de: did not receive HSTS header
 absinthium.ch: could not connect to host
 abt.de: did not receive HSTS header
-abthorpe.org: could not connect to host
 abtom.de: did not receive HSTS header
 abury.fr: did not receive HSTS header
 abury.me: did not receive HSTS header
 acabadosboston.com: did not receive HSTS header
 academicenterprise.org: could not connect to host
+acbc.ie: max-age too low: 0
 accelerole.com: did not receive HSTS header
 accelight.co.jp: did not receive HSTS header
 accelight.jp: did not receive HSTS header
 access-sofia.org: did not receive HSTS header
 accessacademies.org: max-age too low: 0
 accountradar.com: could not connect to host
 accounts-p.com: could not connect to host
 accuenergy.com: max-age too low: 0
@@ -155,17 +155,16 @@ actgruppe.de: did not receive HSTS heade
 activateplay.com: did not receive HSTS header
 activeweb.top: could not connect to host
 activiti.alfresco.com: did not receive HSTS header
 actu-medias.com: did not receive HSTS header
 acuve.jp: could not connect to host
 ada.is: max-age too low: 2592000
 adajwells.me: could not connect to host
 adam-kostecki.de: could not connect to host
-adamgold.net: could not connect to host
 adamkostecki.de: could not connect to host
 adamradocz.com: could not connect to host
 adamricheimer.com: could not connect to host
 adams.net: max-age too low: 0
 adamwk.com: did not receive HSTS header
 adboos.com: could not connect to host
 addaxpetroleum.com: could not connect to host
 addvocate.com: could not connect to host
@@ -231,23 +230,25 @@ ajmahal.com: could not connect to host
 aka.my: did not receive HSTS header
 akboy.pw: could not connect to host
 akclinics.org: did not receive HSTS header
 akerek.hu: could not connect to host
 akgundemirbas.com: could not connect to host
 akkadia.cc: could not connect to host
 akombakom.net: did not receive HSTS header
 akostecki.de: could not connect to host
+akoww.de: could not connect to host
 akselimedia.fi: did not receive HSTS header
 aktivist.in: did not receive HSTS header
 al-shami.net: could not connect to host
 aladdin.ie: did not receive HSTS header
 alainwolf.net: could not connect to host
 alanlee.net: could not connect to host
 alanrickmanflipstable.com: could not connect to host
+alaricfavier.eu: could not connect to host
 alariel.de: did not receive HSTS header
 alarmsystemreviews.com: did not receive HSTS header
 alberguecimballa.es: could not connect to host
 albertbogdanowicz.pl: did not receive HSTS header
 albertopimienta.com: did not receive HSTS header
 alcazaar.com: could not connect to host
 alecvannoten.be: did not receive HSTS header
 alenan.org: could not connect to host
@@ -268,16 +269,17 @@ allods-zone.ru: could not connect to hos
 alloffice.com.ua: did not receive HSTS header
 alloinformatique.net: could not connect to host
 allstarswithus.com: could not connect to host
 alpha.irccloud.com: could not connect to host
 alphabit-secure.com: could not connect to host
 alphabuild.io: could not connect to host
 alphalabs.xyz: could not connect to host
 alphasall.com: could not connect to host
+alrait.com: could not connect to host
 als-hardware.co.za: did not receive HSTS header
 alt33c3.org: could not connect to host
 altamarea.se: could not connect to host
 altfire.ca: could not connect to host
 altmv.com: max-age too low: 7776000
 aluminium-scaffolding.co.uk: could not connect to host
 alza.at: did not receive HSTS header
 alza.co.uk: did not receive HSTS header
@@ -301,26 +303,28 @@ amimoto-ami.com: max-age too low: 315360
 amishsecurity.com: could not connect to host
 amitube.com: could not connect to host
 amlvfs.net: could not connect to host
 amoory.com: did not receive HSTS header
 amri.nl: did not receive HSTS header
 anadoluefessporkulubu.org: could not connect to host
 anagra.ms: could not connect to host
 analytic-s.ml: did not receive HSTS header
+analyticsinmotion.net: could not connect to host
 analyticum.at: could not connect to host
 analyticum.com: could not connect to host
 ancientkarma.com: could not connect to host
 andere-gedanken.net: max-age too low: 10
 anderslind.dk: could not connect to host
 andiplusben.com: could not connect to host
 andreasbreitenlohner.de: did not receive HSTS header
 andreasfritz-fotografie.de: could not connect to host
 andreastoneman.com: could not connect to host
 andreigec.net: did not receive HSTS header
+andrespaz.com: could not connect to host
 andrew.london: did not receive HSTS header
 andrewbroekman.com: could not connect to host
 andrewhowden.com: could not connect to host
 andrewmichaud.beer: could not connect to host
 andrewmichaud.com: could not connect to host
 andrewmichaud.me: could not connect to host
 andrewregan.me: could not connect to host
 andreypopp.com: could not connect to host
@@ -438,17 +442,17 @@ as9178.net: could not connect to host
 asahikoji.net: could not connect to host
 asasuou.pw: could not connect to host
 asc16.com: could not connect to host
 ascamso.com: could not connect to host
 aschaefer.net: could not connect to host
 asdpress.cn: could not connect to host
 aserver.co: could not connect to host
 ashlane-cottages.com: could not connect to host
-asia-gazette.com: did not receive HSTS header
+asia-gazette.com: could not connect to host
 asianodor.com: could not connect to host
 ask.pe: could not connect to host
 askfit.cz: did not receive HSTS header
 asm-x.com: could not connect to host
 asmui.ga: could not connect to host
 asmui.ml: could not connect to host
 ass.org.au: did not receive HSTS header
 assekuranzjobs.de: could not connect to host
@@ -519,18 +523,18 @@ avxo.pw: could not connect to host
 awanderlustadventure.com: did not receive HSTS header
 awg-mode.de: did not receive HSTS header
 aww.moe: did not receive HSTS header
 awxg.com: could not connect to host
 axado.com.br: did not receive HSTS header
 axeny.com: did not receive HSTS header
 ayuru.info: could not connect to host
 az.search.yahoo.com: did not receive HSTS header
-azazy.net: could not connect to host
 azino777.ru: did not receive HSTS header
+azort.com: did not receive HSTS header
 azprep.us: could not connect to host
 b-landia.net: could not connect to host
 b-space.de: did not receive HSTS header
 b2and.com: could not connect to host
 b303.me: did not receive HSTS header
 b3orion.com: max-age too low: 0
 baby-click.de: could not connect to host
 babybee.ie: could not connect to host
@@ -570,17 +574,16 @@ basicsolutionsus.com: did not receive HS
 basilisk.io: could not connect to host
 bassh.net: did not receive HSTS header
 battleofthegridiron.com: could not connect to host
 baud.ninja: could not connect to host
 baum.ga: did not receive HSTS header
 baumstark.ca: could not connect to host
 baysse.eu: could not connect to host
 bazarstupava.sk: could not connect to host
-bbb1991.me: could not connect to host
 bbdos.ru: could not connect to host
 bblovess.cn: could not connect to host
 bbrinck.eu: did not receive HSTS header
 bbwdom.xyz: could not connect to host
 bbwfacesitting.xyz: could not connect to host
 bbwfight.xyz: could not connect to host
 bcbsmagentprofile.com: could not connect to host
 bcchack.com: could not connect to host
@@ -605,26 +608,27 @@ beautyconcept.co: did not receive HSTS h
 beavers.io: could not connect to host
 bebeefy.uk: could not connect to host
 bebesurdoue.com: could not connect to host
 bedabox.com: max-age too low: 0
 bedeta.de: could not connect to host
 bedreid.dk: did not receive HSTS header
 bedrijvenadministratie.nl: did not receive HSTS header
 beetleroadstories.com: could not connect to host
-beetman.net: could not connect to host
 befundup.com: could not connect to host
 behere.be: could not connect to host
 beholdthehurricane.com: could not connect to host
 beier.io: could not connect to host
 beikeil.de: did not receive HSTS header
 belairsewvac.com: could not connect to host
 belics.com: did not receive HSTS header
 belltower.io: could not connect to host
+belmontprom.com: could not connect to host
 bemyvictim.com: max-age too low: 2678400
+bendemaree.com: could not connect to host
 beneffy.com: did not receive HSTS header
 benjakesjohnson.com: could not connect to host
 benk.press: could not connect to host
 benny003.de: did not receive HSTS header
 benohead.com: did not receive HSTS header
 benzkosmetik.de: did not receive HSTS header
 beourvictim.com: max-age too low: 2678400
 berger.work: could not connect to host
@@ -658,17 +662,17 @@ beyuna.co.uk: did not receive HSTS heade
 beyuna.eu: did not receive HSTS header
 beyuna.nl: did not receive HSTS header
 bezorg.ninja: could not connect to host
 bf.am: max-age too low: 0
 bfelob.gov: max-age too low: 86400
 bffm.biz: max-age too low: 0
 bgcparkstad.nl: did not receive HSTS header
 bgmn.net: could not connect to host
-bhatia.at: could not connect to host
+bhatia.at: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 bi.search.yahoo.com: did not receive HSTS header
 biblerhymes.com: did not receive HSTS header
 bidon.ca: did not receive HSTS header
 bieberium.de: could not connect to host
 bienenblog.cc: could not connect to host
 bierbringer.at: could not connect to host
 bierochs.org: could not connect to host
 big-black.de: did not receive HSTS header
@@ -869,28 +873,27 @@ burgers.io: could not connect to host
 burian-server.cz: could not connect to host
 burningcrash.de: max-age too low: 600000
 burpsuite.site: could not connect to host
 burrow.ovh: could not connect to host
 burtrum.me: could not connect to host
 burtrum.top: could not connect to host
 business.lookout.com: could not connect to host
 businesshosting.nl: did not receive HSTS header
-businessimmigration-eu.com: did not receive HSTS header
-businessimmigration-eu.ru: did not receive HSTS header
 businessloanconnection.org: did not receive HSTS header
 businessloanstoday.com: max-age too low: 0
 busold.ws: could not connect to host
 bustimes.org: could not connect to host
 butchersworkshop.com: did not receive HSTS header
 buttercoin.com: could not connect to host
 butterfieldstraining.com: did not receive HSTS header
 buyaccessible.gov: did not receive HSTS header
 buybaby.eu: did not receive HSTS header
 buyfox.de: did not receive HSTS header
+buzzdeck.com: could not connect to host
 bw81.xyz: could not connect to host
 bwear4all.de: could not connect to host
 by4cqb.cn: could not connect to host
 bydisk.com: could not connect to host
 bypassed.bid: did not receive HSTS header
 bypassed.cc: did not receive HSTS header
 bypassed.club: did not receive HSTS header
 bypassed.date: did not receive HSTS header
@@ -950,17 +953,16 @@ camolist.com: could not connect to host
 campaignelves.com: did not receive HSTS header
 campfire.co.il: did not receive HSTS header
 camsanalytics.com: could not connect to host
 canadiangamblingchoice.com: did not receive HSTS header
 cancelmyprofile.com: did not receive HSTS header
 candicontrols.com: did not receive HSTS header
 candratech.com: could not connect to host
 candylion.rocks: could not connect to host
-cannarobotics.com: could not connect to host
 cannyfoxx.me: could not connect to host
 canyonshoa.com: did not receive HSTS header
 capecycles.co.za: did not receive HSTS header
 capeyorkfire.com.au: did not receive HSTS header
 capitaltg.com: could not connect to host
 capitolpathways.org: could not connect to host
 captchatheprize.com: could not connect to host
 captianseb.de: could not connect to host
@@ -975,16 +977,17 @@ cardurl.com: did not receive HSTS header
 caringladies.org: could not connect to host
 carlo.mx: did not receive HSTS header
 carlolly.co.uk: could not connect to host
 carlosalves.info: could not connect to host
 carpliyz.com: could not connect to host
 carroarmato0.be: could not connect to host
 carsforbackpackers.com: could not connect to host
 carwashvapeur.be: could not connect to host
+casburggraaf.com: did not receive HSTS header
 casc.cz: did not receive HSTS header
 casedi.org: max-age too low: 0
 casefall.com: could not connect to host
 cashlink.io: did not receive HSTS header
 cashmojo.com: could not connect to host
 cashmyphone.ch: could not connect to host
 casino-cashflow.ru: did not receive HSTS header
 casinostest.com: did not receive HSTS header
@@ -1055,16 +1058,17 @@ chensir.net: could not connect to host
 chepaofen.com: did not receive HSTS header
 cherekerry.com: could not connect to host
 cherysunzhang.com: did not receive HSTS header
 chib.chat: could not connect to host
 chicolawfirm.com: did not receive HSTS header
 chihiro.xyz: did not receive HSTS header
 chijiokeindustries.co.uk: could not connect to host
 childcaresolutionscny.org: did not receive HSTS header
+china-line.org: could not connect to host
 chinawhale.com: did not receive HSTS header
 chirgui.eu: could not connect to host
 chiryotaisaku.com: max-age too low: 0
 chloe.re: did not receive HSTS header
 chlouis.net: could not connect to host
 chm.vn: did not receive HSTS header
 chodobien.com: could not connect to host
 chontalpa.pw: could not connect to host
@@ -1079,17 +1083,16 @@ christiaandruif.nl: could not connect to
 christianbro.gq: could not connect to host
 christophercolumbusfoundation.gov: could not connect to host
 christophersole.com: could not connect to host
 christophheich.me: could not connect to host
 chrisupjohn.com: could not connect to host
 chrome-devtools-frontend.appspot.com: did not receive HSTS header (error ignored - included regardless)
 chrome.google.com: did not receive HSTS header (error ignored - included regardless)
 chua.cf: could not connect to host
-chua.family: could not connect to host
 chulado.com: did not receive HSTS header
 churchux.co: did not receive HSTS header
 cidr.ml: could not connect to host
 cig-dem.com: could not connect to host
 cigarblogs.net: could not connect to host
 cigi.site: could not connect to host
 ciicutini.ro: did not receive HSTS header
 cim2b.de: could not connect to host
@@ -1124,32 +1127,34 @@ clicnbio.com: did not receive HSTS heade
 clint.id.au: max-age too low: 0
 clintonbloodworth.com: could not connect to host
 clintonbloodworth.io: could not connect to host
 clintwilson.technology: max-age too low: 2592000
 clipped4u.com: could not connect to host
 cloud-project.com: did not receive HSTS header
 cloud.wtf: could not connect to host
 cloudapi.vc: could not connect to host
+cloudbleed.info: could not connect to host
 cloudcert.org: did not receive HSTS header
 cloudcy.net: could not connect to host
 clouddesktop.co.nz: could not connect to host
 cloudey.net: did not receive HSTS header
 cloudflare.com: did not receive HSTS header
 cloudimag.es: could not connect to host
 cloudlink.club: could not connect to host
 cloudns.com.au: could not connect to host
 cloudspeedy.net: could not connect to host
 cloudspotterapp.com: did not receive HSTS header
 cloudstoragemaus.com: could not connect to host
 cloudstorm.me: could not connect to host
 cloudstrike.co: could not connect to host
 cloudwalk.io: did not receive HSTS header
 cloverleaf.net: max-age too low: 0
 clowde.in: could not connect to host
+cloxy.com: did not receive HSTS header
 clubmix.co.kr: could not connect to host
 cluster.id: did not receive HSTS header
 clustermaze.net: could not connect to host
 clvrwebdesign.com: did not receive HSTS header
 clywedogmaths.co.uk: could not connect to host
 cmc-versand.de: did not receive HSTS header
 cmci.dk: did not receive HSTS header
 cmsbattle.com: could not connect to host
@@ -1173,17 +1178,16 @@ codealkemy.co: could not connect to host
 codeco.pw: could not connect to host
 codecontrollers.de: could not connect to host
 codeforce.io: could not connect to host
 codeforhakodate.org: did not receive HSTS header
 codelayer.ca: could not connect to host
 codelitmus.com: did not receive HSTS header
 codemonkeyrawks.net: did not receive HSTS header
 codepoet.de: could not connect to host
-codepult.com: could not connect to host
 codepx.com: did not receive HSTS header
 codiva.io: max-age too low: 2592000
 codymoniz.com: did not receive HSTS header
 coffeeetc.co.uk: did not receive HSTS header
 coffeestrategies.com: max-age too low: 0
 cohesive.io: did not receive HSTS header
 coiffeurschnittstelle.ch: did not receive HSTS header
 coindam.com: could not connect to host
@@ -1248,17 +1252,16 @@ cor-ser.es: could not connect to host
 coralproject.net: did not receive HSTS header
 coralrosado.com.br: did not receive HSTS header
 corbax.com: did not receive HSTS header
 corderoscleaning.com: did not receive HSTS header
 cordial-restaurant.com: did not receive HSTS header
 core.mx: could not connect to host
 core4system.de: could not connect to host
 corenetworking.de: could not connect to host
-corgi.party: could not connect to host
 corgicloud.com: could not connect to host
 corkyoga.site: could not connect to host
 cormactagging.ie: could not connect to host
 cormilu.com.br: did not receive HSTS header
 corporateencryption.com: could not connect to host
 correctpaardbatterijnietje.nl: did not receive HSTS header
 corruption-mc.net: could not connect to host
 corruption-rsps.net: could not connect to host
@@ -1279,16 +1282,18 @@ craftmain.eu: could not connect to host
 crandall.io: could not connect to host
 cranems.com.ua: did not receive HSTS header
 cranioschule.com: did not receive HSTS header
 crate.io: did not receive HSTS header
 cravelyrics.com: could not connect to host
 crazifyngers.com: could not connect to host
 crazy-crawler.de: did not receive HSTS header
 crazycen.com: did not receive HSTS header
+crazycraftland.de: could not connect to host
+crazycraftland.net: could not connect to host
 crazyhotseeds.com: did not receive HSTS header
 crbug.com: did not receive HSTS header (error ignored - included regardless)
 create-test-publish.co.uk: could not connect to host
 creativephysics.ml: could not connect to host
 creativeplayuk.com: did not receive HSTS header
 crecket.me: could not connect to host
 crendontech.com: could not connect to host
 crestoncottage.com: could not connect to host
@@ -1296,17 +1301,16 @@ criena.net: did not receive HSTS header
 crimewatch.net.za: could not connect to host
 cristiandeluxe.com: did not receive HSTS header
 cristianhares.com: could not connect to host
 crizk.com: could not connect to host
 croome.no-ip.org: could not connect to host
 crosbug.com: did not receive HSTS header (error ignored - included regardless)
 crosscom.ch: could not connect to host
 crosssec.com: did not receive HSTS header
-crow.tw: could not connect to host
 crowd.supply: did not receive HSTS header
 crowdcurity.com: did not receive HSTS header
 crowdjuris.com: could not connect to host
 crrev.com: did not receive HSTS header (error ignored - included regardless)
 crtvmgmt.com: could not connect to host
 crudysql.com: could not connect to host
 crufad.org: did not receive HSTS header
 cruzr.xyz: could not connect to host
@@ -1394,27 +1398,28 @@ dalfiume.it: max-age too low: 1000
 dalingk.co: could not connect to host
 damedrogy.cz: could not connect to host
 damianuv-blog.cz: did not receive HSTS header
 dancerdates.net: could not connect to host
 daniel-mosquera.com: could not connect to host
 daniel-steuer.de: could not connect to host
 danielcowie.me: could not connect to host
 danieldk.eu: did not receive HSTS header
+danielepestilli.com: could not connect to host
 danielheal.net: could not connect to host
 danieliancu.com: could not connect to host
 danielverlaan.nl: did not receive HSTS header
 danielworthy.com: did not receive HSTS header
 danijobs.com: could not connect to host
 danishenanigans.com: could not connect to host
 dannycrichton.com: did not receive HSTS header
 danrl.de: could not connect to host
 danwillenberg.com: did not receive HSTS header
 daolerp.xyz: could not connect to host
-daplie.com: could not connect to host
+daplie.com: did not receive HSTS header
 dargasia.is: could not connect to host
 dario.im: could not connect to host
 dark-x.cf: could not connect to host
 darkengine.io: could not connect to host
 darkfriday.ddns.net: could not connect to host
 darkhole.cn: could not connect to host
 darkkeepers.dk: did not receive HSTS header
 darknebula.space: could not connect to host
@@ -1488,17 +1493,17 @@ deltanet-production.de: max-age too low:
 deltasmart.ch: did not receive HSTS header
 delvj.org: could not connect to host
 demdis.org: could not connect to host
 demilitarized.ninja: could not connect to host
 demo.swedbank.se: did not receive HSTS header
 demomanca.com: did not receive HSTS header
 demotops.com: did not receive HSTS header
 dengyong.org: could not connect to host
-denh.am: did not receive HSTS header
+denh.am: could not connect to host
 denisjean.fr: could not connect to host
 dentaldomain.org: did not receive HSTS header
 dentaldomain.ph: could not connect to host
 depeche-mode.moscow: max-age too low: 7200
 depijl-mz.nl: did not receive HSTS header
 depixion.agency: could not connect to host
 depo.space: could not connect to host
 dequehablamos.es: could not connect to host
@@ -1522,17 +1527,18 @@ devcu.com: could not connect to host
 devcu.net: could not connect to host
 devincrow.me: could not connect to host
 devmsg.com: did not receive HSTS header
 devnsec.com: could not connect to host
 devnull.team: could not connect to host
 devopps.me: did not receive HSTS header
 devopsconnected.com: could not connect to host
 devtub.com: did not receive HSTS header
-devuan.org: could not connect to host
+devuan.org: did not receive HSTS header
+dewalch.net: could not connect to host
 dewin.io: could not connect to host
 dfviana.com.br: max-age too low: 2592000
 dhpcs.com: did not receive HSTS header
 dhpiggott.net: did not receive HSTS header
 diablotine.rocks: could not connect to host
 dianlujitao.com: did not receive HSTS header
 diannaobos.com: did not receive HSTS header
 diarbag.us: max-age too low: 0
@@ -1545,16 +1551,17 @@ diewebstube.de: could not connect to hos
 diezel.com: could not connect to host
 diferenca.com: did not receive HSTS header
 digioccumss.ddns.net: could not connect to host
 digitalbank.kz: could not connect to host
 digitaldaddy.net: could not connect to host
 digitalero.rip: did not receive HSTS header
 digitalriver.tk: could not connect to host
 digitalskillswap.com: could not connect to host
+dillonkorman.com: could not connect to host
 dim.lighting: could not connect to host
 dinamoelektrik.com: could not connect to host
 dingcc.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 dingcc.me: could not connect to host
 dinkum.online: could not connect to host
 directhskincream.com: could not connect to host
 directorinegocis.cat: could not connect to host
 discovery.lookout.com: did not receive HSTS header
@@ -1609,16 +1616,17 @@ dollywiki.co.uk: could not connect to ho
 dolphin-cloud.com: could not connect to host
 dolphincorp.co.uk: could not connect to host
 dolphinswithlasers.com: could not connect to host
 domaine-aigoual-cevennes.com: did not receive HSTS header
 domaris.de: could not connect to host
 domenicocatelli.com: could not connect to host
 dominioanimal.com: could not connect to host
 dominique-mueller.de: did not receive HSTS header
+don.yokohama: could not connect to host
 donmez.uk: could not connect to host
 donmez.ws: could not connect to host
 donttrustrobots.nl: could not connect to host
 donzelot.co.uk: max-age too low: 3600
 doodledraw.ninja: did not receive HSTS header
 dooku.cz: could not connect to host
 doomleika.com: could not connect to host
 doooonoooob.com: could not connect to host
@@ -1665,37 +1673,38 @@ droomhuis-in-rijnwaarden-kopen.nl: could
 droomhuis-in-sudwest-fryslan-kopen.nl: could not connect to host
 droomhuis-in-veendam-kopen.nl: could not connect to host
 droomhuis-in-zeeland-kopen.nl: could not connect to host
 droomhuisindestadverkopen.nl: could not connect to host
 droomhuisophetplattelandverkopen.nl: could not connect to host
 dropcam.com: did not receive HSTS header
 drtroyhendrickson.com: could not connect to host
 drumbandesperanto.nl: could not connect to host
+drycreekapiary.com: did not receive HSTS header
 ds-christiansen.de: could not connect to host
 dshiv.io: could not connect to host
 dtub.co: did not receive HSTS header
 dualias.xyz: could not connect to host
 dubik.su: did not receive HSTS header
 dubrovskiy.net: could not connect to host
 dubrovskiy.pro: could not connect to host
 duerls.de: did not receive HSTS header
 duesee.org: could not connect to host
 dullsir.com: did not receive HSTS header
 dungi.org: could not connect to host
 duskopy.top: could not connect to host
+dutchessuganda.com: did not receive HSTS header
 dutchrank.com: did not receive HSTS header
 duuu.ch: could not connect to host
 dycontrol.de: could not connect to host
 dyktig.as: did not receive HSTS header
 dylanscott.com.au: did not receive HSTS header
 dynamic-innovations.net: could not connect to host
 dynamize.solutions: could not connect to host
 dyrkar.com: did not receive HSTS header
-dyz.pw: could not connect to host
 dzimejl.sk: did not receive HSTS header
 dzlibs.io: could not connect to host
 dzyabchenko.com: could not connect to host
 e-aut.net: could not connect to host
 e-biografias.net: did not receive HSTS header
 e-deca2.org: did not receive HSTS header
 e-isfa.eu: did not receive HSTS header
 e-pokupki.eu: did not receive HSTS header
@@ -1726,17 +1735,16 @@ ecdn.cz: could not connect to host
 ecfs.link: could not connect to host
 ecg.fr: could not connect to host
 echipstore.com: did not receive HSTS header
 echopaper.com: could not connect to host
 ecole-en-danger.fr: could not connect to host
 ecole-maternelle-saint-joseph.be: could not connect to host
 ecomlane.com: could not connect to host
 ecomparemo.com: did not receive HSTS header
-ecorp.cc: could not connect to host
 ecorus.eu: did not receive HSTS header
 edcphenix.tk: could not connect to host
 eddmixpanel.com: did not receive HSTS header
 eddyn.net: did not receive HSTS header
 edelblack.ch: could not connect to host
 edelsteincosmetic.com: did not receive HSTS header
 eden-noel.at: could not connect to host
 edenaya.com: could not connect to host
@@ -1845,17 +1853,17 @@ enjoymayfield.com: max-age too low: 0
 enskat.de: could not connect to host
 enskatson-sippe.de: could not connect to host
 enteente.club: could not connect to host
 enteente.space: could not connect to host
 enteente.xyz: could not connect to host
 enterdev.co: did not receive HSTS header
 enterprise-threat-monitor.com: max-age too low: 0
 enterprisecarclub.co.uk: did not receive HSTS header
-entersynapse.com: did not receive HSTS header
+entersynapse.com: could not connect to host
 entourneebeetle.com: could not connect to host
 entrepreneur.or.id: did not receive HSTS header
 enum.eu.org: could not connect to host
 enumify.com: could not connect to host
 eol34.com: did not receive HSTS header
 epanurse.com: could not connect to host
 ephry.com: could not connect to host
 epichouse.net: could not connect to host
@@ -1897,17 +1905,16 @@ esn-ypci.com: could not connect to host
 esocweb.com: could not connect to host
 esoterikerforum.de: did not receive HSTS header
 esp8285.store: could not connect to host
 especificosba.com.mx: could not connect to host
 espo.com.ua: did not receive HSTS header
 espra.com: could not connect to host
 esquonic.com: could not connect to host
 essexghosthunters.co.uk: did not receive HSTS header
-estateczech-eu.ru: did not receive HSTS header
 estebanborges.com: did not receive HSTS header
 estilosapeca.com: could not connect to host
 et-buchholz.de: could not connect to host
 et180.com: could not connect to host
 etdonline.co.uk: could not connect to host
 eternitylove.us: could not connect to host
 eth9.net: could not connect to host
 ethicalexploiting.com: could not connect to host
@@ -1941,17 +1948,17 @@ eveshaiwu.com: could not connect to host
 evi.be: did not receive HSTS header
 evilnerd.de: did not receive HSTS header
 evilsay.com: could not connect to host
 evin.ml: could not connect to host
 evites.me: could not connect to host
 evomon.com: could not connect to host
 evossd.tk: could not connect to host
 evowl.com: could not connect to host
-ewex.org: did not receive HSTS header
+ewex.org: could not connect to host
 ewycena.pl: could not connect to host
 excelgum.ca: did not receive HSTS header
 exceptionalservers.com: could not connect to host
 exfiles.cz: did not receive HSTS header
 exgravitus.com: could not connect to host
 exitus.jp: max-age too low: 0
 exno.co: could not connect to host
 exousiakaidunamis.xyz: could not connect to host
@@ -1996,31 +2003,31 @@ falkp.no: did not receive HSTS header
 fallenangelspirits.uk: could not connect to host
 fame-agency.net: could not connect to host
 familie-sander.rocks: could not connect to host
 familie-sprink.de: could not connect to host
 familie-zimmermann.at: could not connect to host
 famio.cn: could not connect to host
 fantasyfootballpundit.com: did not receive HSTS header
 fanyl.cn: could not connect to host
+farhadexchange.com: did not receive HSTS header
 fashioncare.cz: did not receive HSTS header
 fasset.jp: could not connect to host
 fastcomcorp.com: did not receive HSTS header
 fastcomcorp.net: did not receive HSTS header
 fastdigitizing.com: max-age too low: 300
 fastograph.com: could not connect to host
 fastopen.ml: could not connect to host
 fastworx.com: could not connect to host
 fatgeekflix.net: could not connect to host
 fatherhood.gov: did not receive HSTS header
 fatlossguide.xyz: could not connect to host
 fatwin.pw: could not connect to host
 fawkex.me: did not receive HSTS header
 fayolle.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
-fbi.pw: could not connect to host
 fbox.li: could not connect to host
 fdj.im: could not connect to host
 fdt.name: did not receive HSTS header
 feard.space: could not connect to host
 feastr.de: did not receive HSTS header
 fedo.moe: could not connect to host
 feezmodo.com: did not receive HSTS header
 felisslovakia.sk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
@@ -2041,16 +2048,17 @@ fics-twosigma.com: could not connect to 
 fideleslaici.com: did not receive HSTS header
 fiftyshadesofluca.ml: could not connect to host
 fig.co: did not receive HSTS header
 fightr.co: could not connect to host
 fiksel.info: did not receive HSTS header
 fikt.space: could not connect to host
 filemeal.com: did not receive HSTS header
 filey.co.uk: did not receive HSTS header
+filip-prochazka.com: could not connect to host
 filmipop.com: max-age too low: 0
 finalgear.com: did not receive HSTS header
 financieringsportaal.nl: did not receive HSTS header
 finanzkontor.net: could not connect to host
 findtutorsnearme.com: did not receive HSTS header
 finfev.de: could not connect to host
 finiteheap.com: did not receive HSTS header
 finpt.com: did not receive HSTS header
@@ -2077,17 +2085,16 @@ fivezerocreative.com: did not receive HS
 fixingdns.com: did not receive HSTS header
 fixtectools.co.za: could not connect to host
 fj.search.yahoo.com: did not receive HSTS header
 fjruiz.es: did not receive HSTS header
 fkcovering.be: could not connect to host
 flags.ninja: could not connect to host
 flamewall.net: could not connect to host
 flareon.net: could not connect to host
-flashback.org: did not receive HSTS header
 flawcheck.com: did not receive HSTS header
 fliexer.com: could not connect to host
 flirchi.com: did not receive HSTS header
 floless.co.uk: did not receive HSTS header
 florafiora.com.br: did not receive HSTS header
 florian-lillpopp.de: max-age too low: 10
 florianlillpopp.de: max-age too low: 10
 floridaescapes.co.uk: did not receive HSTS header
@@ -2168,16 +2175,17 @@ frenzel.dk: could not connect to host
 freqlabs.com: did not receive HSTS header
 freshfind.xyz: could not connect to host
 freshlymind.com: did not receive HSTS header
 frezbo.com: could not connect to host
 frforms.com: did not receive HSTS header
 fridolinka.cz: could not connect to host
 friendica.ch: could not connect to host
 friendlyfiregameshow.com: could not connect to host
+friendlysiberia.com: could not connect to host
 frimons.com: could not connect to host
 froggstack.de: could not connect to host
 frontisme.nl: could not connect to host
 frontmin.com: did not receive HSTS header
 frost-ci.xyz: could not connect to host
 fruitusers.com: could not connect to host
 frumious.fyi: could not connect to host
 frusky.net: did not receive HSTS header
@@ -2240,37 +2248,39 @@ galoisvpn.xyz: could not connect to host
 gambitcloud.net: could not connect to host
 game-files.net: could not connect to host
 game.yt: could not connect to host
 gamecave.de: could not connect to host
 gamechasm.com: could not connect to host
 gamefund.me: did not receive HSTS header
 gamehacks.me: could not connect to host
 gameink.net: max-age too low: 0
-gamek.es: could not connect to host
+gamek.es: did not receive HSTS header
 gamenected.com: could not connect to host
 gamenected.de: could not connect to host
 gameofpwnz.com: did not receive HSTS header
 gamepad.vg: could not connect to host
+gamepader.com: did not receive HSTS header
 gameparade.de: could not connect to host
 gamepiece.com: could not connect to host
 gamers-life.fr: could not connect to host
 gamerslair.org: did not receive HSTS header
 gamerz-point.de: could not connect to host
 gamesdepartment.co.uk: did not receive HSTS header
 gameserver-sponsor.de: could not connect to host
 gamesurferapp.com: could not connect to host
 gamingmedia.eu: did not receive HSTS header
 gampenhof.de: did not receive HSTS header
 gaptek.id: did not receive HSTS header
 garageon.net: did not receive HSTS header
 garciamartin.me: could not connect to host
 garden.trade: max-age too low: 0
 garfieldairlines.net: did not receive HSTS header
 gatapro.net: could not connect to host
+gateaucreation.fr: could not connect to host
 gatorsa.es: did not receive HSTS header
 gaussorgues.me: could not connect to host
 gdegem.org: did not receive HSTS header
 gdpventure.com: max-age too low: 0
 gebn.co.uk: did not receive HSTS header
 gedankenbude.info: could not connect to host
 geekcast.co.uk: did not receive HSTS header
 geeks.berlin: could not connect to host
@@ -2326,17 +2336,16 @@ getspire.com: could not connect to host
 getwashdaddy.com: could not connect to host
 gfelot.xyz: could not connect to host
 gfm.tech: could not connect to host
 gfwsb.ml: could not connect to host
 ggss.ml: could not connect to host
 gh16.com.ar: could not connect to host
 gheorghesarcov.ga: could not connect to host
 gheorghesarcov.tk: could not connect to host
-ghostcir.com: could not connect to host
 giakki.eu: could not connect to host
 gianlucapartengo.photography: did not receive HSTS header
 giantmicrobes.de: max-age too low: 86400
 gibraltar.at: could not connect to host
 gietvloergarant.nl: did not receive HSTS header
 giftservices.nl: could not connect to host
 gigacloud.org: max-age too low: 0
 gigacog.com: could not connect to host
@@ -2395,16 +2404,17 @@ gold24.in: did not receive HSTS header
 goldegg-training.com: did not receive HSTS header
 goldendata.io: could not connect to host
 goldminer.ga: could not connect to host
 goldpros.com: did not receive HSTS header
 golocal-media.de: could not connect to host
 gong8.win: could not connect to host
 gonzalosanchez.mx: did not receive HSTS header
 goodenough.nz: did not receive HSTS header
+goodmengroup.de: could not connect to host
 goodtech.com.br: could not connect to host
 goodwin43.ru: could not connect to host
 google: could not connect to host (error ignored - included regardless)
 google.ax: could not connect to host
 googlemail.com: did not receive HSTS header (error ignored - included regardless)
 googleplex.com: did not receive HSTS header (error ignored - included regardless)
 goolok.com: could not connect to host
 gootlijsten.nl: did not receive HSTS header
@@ -2419,17 +2429,16 @@ gotocloud.ru: could not connect to host
 gotowned.org: max-age too low: 0
 gotspot.com: could not connect to host
 gottcode.org: did not receive HSTS header
 gov.ax: could not connect to host
 goverage.org: did not receive HSTS header
 govillemo.ca: did not receive HSTS header
 gozel.com.tr: did not receive HSTS header
 gparent.org: did not receive HSTS header
-gps.com.br: could not connect to host
 gpsfix.cz: did not receive HSTS header
 gpstuner.com: did not receive HSTS header
 graavaapi.elasticbeanstalk.com: could not connect to host
 grabi.ga: could not connect to host
 gracesofgrief.com: could not connect to host
 grachtenpandverkopen.nl: could not connect to host
 grana.com: did not receive HSTS header
 grandmascookieblog.com: did not receive HSTS header
@@ -2445,22 +2454,22 @@ grazetech.com: did not receive HSTS head
 grcnode.co.uk: could not connect to host
 greatnet.de: did not receive HSTS header
 greatsong.net: did not receive HSTS header
 greencardtalent.com: could not connect to host
 greenesting.ch: could not connect to host
 greenhillantiques.co.uk: did not receive HSTS header
 greenvines.com.tw: did not receive HSTS header
 greg.red: could not connect to host
-gregorykelleher.com: could not connect to host
 gregorytlee.me: could not connect to host
 gremots.com: could not connect to host
 greplin.com: could not connect to host
 gresb.com: did not receive HSTS header
 gretchelizartistry.com: did not receive HSTS header
+grevesgarten.de: could not connect to host
 greyline.se: could not connect to host
 gribani.com: could not connect to host
 grid2osm.org: could not connect to host
 grigalanzsoftware.com: could not connect to host
 gripopgriep.net: could not connect to host
 groenemeijer.frl: max-age too low: 2628000
 groenewoud.run: did not receive HSTS header
 groetzner.net: did not receive HSTS header
@@ -2532,25 +2541,27 @@ hack.cz: could not connect to host
 hack.li: could not connect to host
 hackercat.ninja: did not receive HSTS header
 hackerforever.com: did not receive HSTS header
 hackerone-ext-adroll.com: could not connect to host
 hackerspace-ntnu.no: did not receive HSTS header
 hackest.org: did not receive HSTS header
 hackit.im: could not connect to host
 hackroyale.xyz: could not connect to host
+hadaf.pro: could not connect to host
 hadzic.co: could not connect to host
 haeckdesign.com: did not receive HSTS header
 haeckl.eu: did not receive HSTS header
 haf.gr: could not connect to host
 hahayidu.org: could not connect to host
 haitschi.com: could not connect to host
 haitschi.de: did not receive HSTS header
 haitschi.net: could not connect to host
 haitschi.org: could not connect to host
+hajnzic.at: could not connect to host
 haktec.de: could not connect to host
 haku.moe: could not connect to host
 hakugin.org: could not connect to host
 halcyonsbastion.com: could not connect to host
 halligladen.de: did not receive HSTS header
 halo.red: could not connect to host
 haman.nl: could not connect to host
 hancc.net: could not connect to host
@@ -2614,20 +2625,21 @@ hearty.space: could not connect to host
 hearty.tw: did not receive HSTS header
 heartyme.net: could not connect to host
 heathmanners.com: could not connect to host
 hebaus.com: could not connect to host
 hebriff.com: could not connect to host
 heidilein.info: did not receive HSTS header
 heijblok.com: could not connect to host
 heimnetze.org: could not connect to host
+hekeki.com: could not connect to host
 helencrump.co.uk: did not receive HSTS header
 helloworldhost.com: did not receive HSTS header
 helpadmin.net: could not connect to host
-helpium.de: could not connect to host
+helpium.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 helpmebuild.com: did not receive HSTS header
 hemdal.se: could not connect to host
 hencagon.com: could not connect to host
 henriknoerr.com: could not connect to host
 hepteract.us: did not receive HSTS header
 heritagedentistry.ca: did not receive HSTS header
 herrenfahrt.com: did not receive HSTS header
 herzbotschaft.de: did not receive HSTS header
@@ -2734,17 +2746,16 @@ hugocollignon.fr: could not connect to h
 hugosleep.com.au: did not receive HSTS header
 humankode.com: did not receive HSTS header
 humblefinances.com: could not connect to host
 humeurs.net: could not connect to host
 humortuga.pt: did not receive HSTS header
 humpi.at: could not connect to host
 humpteedumptee.in: did not receive HSTS header
 hup.blue: could not connect to host
-hupp.se: could not connect to host
 hurricanelabs.com: did not receive HSTS header
 huskybutt.dog: could not connect to host
 hxying.com: could not connect to host
 hycken.com: did not receive HSTS header
 hydra.ws: could not connect to host
 hydronium.cf: could not connect to host
 hydronium.ga: could not connect to host
 hydronium.me: could not connect to host
@@ -2773,17 +2784,16 @@ ich-mach-druck.eu: did not receive HSTS 
 ichnichtskaufmann.de: could not connect to host
 ichoosebtec.com: did not receive HSTS header
 icity.ly: did not receive HSTS header
 icloud.net: could not connect to host
 icntorrent.download: could not connect to host
 icpc2016.in.th: could not connect to host
 icq-project.net: could not connect to host
 icreative.nl: did not receive HSTS header
-ictinforensics.org: could not connect to host
 ictual.com: max-age too low: 0
 id-co.in: could not connect to host
 id-conf.com: did not receive HSTS header
 idacmedia.com: max-age too low: 5184000
 ideadozz.hu: could not connect to host
 ideal-envelopes.co.uk: did not receive HSTS header
 idealmykonos.com: did not receive HSTS header
 ideasmeetingpoint.com: could not connect to host
@@ -2811,24 +2821,25 @@ igiftcards.nl: did not receive HSTS head
 ignatisd.gr: did not receive HSTS header
 ignatovich.by: could not connect to host
 ignatovich.me: could not connect to host
 igule.net: could not connect to host
 ihrlotto.de: could not connect to host
 ihrnationalrat.ch: could not connect to host
 ihsbsd.me: could not connect to host
 ihsbsd.tk: could not connect to host
-ihuanmeng.com: did not receive HSTS header
+ihuanmeng.com: could not connect to host
 iispeed.com: did not receive HSTS header
 ikujii.com: max-age too low: 0
 ikwilguidobellen.nl: did not receive HSTS header
 ilbuongiorno.it: did not receive HSTS header
 ilgi.work: could not connect to host
 ilikerainbows.co: could not connect to host
 ilikerainbows.co.uk: could not connect to host
+illegalpornography.me: could not connect to host
 ilmconpm.de: did not receive HSTS header
 ilona.graphics: max-age too low: 3600
 iluvscotland.co.uk: did not receive HSTS header
 imakepoems.net: could not connect to host
 imanolbarba.net: could not connect to host
 ime.moe: could not connect to host
 imim.pw: could not connect to host
 imjiangtao.com: could not connect to host
@@ -2905,27 +2916,27 @@ inspire-av.com: did not receive HSTS hea
 inspiroinc.com: could not connect to host
 inspy.me: max-age too low: 0
 instacart.com: did not receive HSTS header
 instantdev.io: could not connect to host
 instinctiveads.com: did not receive HSTS header
 institutoflordelavida.com: could not connect to host
 instruktor.io: could not connect to host
 intarweb.ca: could not connect to host
-integraelchen.de: could not connect to host
 intel.li: could not connect to host
 intelevo.com: max-age too low: 0
 interference.io: could not connect to host
 interhosts.co.za: could not connect to host
 interim-cto.de: could not connect to host
 interleucina.org: did not receive HSTS header
 interlocal.co.uk: could not connect to host
 interlun.com: could not connect to host
 internetcasinos.de: could not connect to host
 internetcensus.org: could not connect to host
+internetpro.me: could not connect to host
 interserved.com: did not receive HSTS header
 intervisteperstrada.com: did not receive HSTS header
 intex.es: max-age too low: 0
 intim-uslugi-kazan.net: could not connect to host
 intimateperrierjouet.com: could not connect to host
 intimtoy.com.ua: could not connect to host
 intranetsec.fr: could not connect to host
 intrp.net: did not receive HSTS header
@@ -2939,16 +2950,17 @@ ionx.co.uk: did not receive HSTS header
 iop.intuit.com: max-age too low: 86400
 iora.fr: could not connect to host
 iosmods.com: did not receive HSTS header
 iostips.ru: could not connect to host
 ioteo.com: max-age too low: 0
 iotsms.io: could not connect to host
 ip6.im: did not receive HSTS header
 ipbill.org.uk: could not connect to host
+iplife.cn: could not connect to host
 ipmimagazine.com: did not receive HSTS header
 iprice.co.id: did not receive HSTS header
 iprice.hk: did not receive HSTS header
 iprice.my: did not receive HSTS header
 iprice.ph: did not receive HSTS header
 iprice.sg: did not receive HSTS header
 iprice.vn: did not receive HSTS header
 ipricethailand.com: did not receive HSTS header
@@ -2974,17 +2986,16 @@ is-a-furry.org: did not receive HSTS hea
 isabellehogarth.co.uk: could not connect to host
 ischool.co.jp: did not receive HSTS header
 isdf.me: could not connect to host
 iseek.biz: max-age too low: 0
 iseulde.com: did not receive HSTS header
 ishillaryclintoninprisonyet.com: could not connect to host
 isitamor.pm: could not connect to host
 iskaz.rs: did not receive HSTS header
-islam.si: did not receive HSTS header
 isogen5.com: could not connect to host
 isogram.nl: could not connect to host
 israkurort.com: did not receive HSTS header
 istanbultravelguide.info: could not connect to host
 istaspirtslietas.lv: did not receive HSTS header
 it-go.net: did not receive HSTS header
 it-schwerin.de: could not connect to host
 itechgeek.com: max-age too low: 0
@@ -3118,18 +3129,19 @@ jirav.io: could not connect to host
 jitsi.org: did not receive HSTS header
 jiyue.com: could not connect to host
 jiyuu-ni.com: could not connect to host
 jiyuu-ni.net: could not connect to host
 jkb.pics: could not connect to host
 jkbuster.com: could not connect to host
 jko.works: could not connect to host
 jmdekker.it: could not connect to host
+jmk.hu: could not connect to host
 joakimalgroy.com: could not connect to host
-jobmedic.com: could not connect to host
+jobmedic.com: did not receive HSTS header
 jobshq.com: did not receive HSTS header
 jobss.co.uk: did not receive HSTS header
 joedavison.me: could not connect to host
 johannes-sprink.de: could not connect to host
 johnbrownphotography.ch: did not receive HSTS header
 johners.me: could not connect to host
 johnhgaunt.com: did not receive HSTS header
 johnrom.com: did not receive HSTS header
@@ -3185,17 +3197,16 @@ jvoice.net: could not connect to host
 jwilsson.me: could not connect to host
 jxm.in: could not connect to host
 jznet.org: could not connect to host
 k-dev.de: could not connect to host
 k-wallet.com: could not connect to host
 ka-clan.com: could not connect to host
 kabinapp.com: could not connect to host
 kabuabc.com: did not receive HSTS header
-kabus.org: could not connect to host
 kadioglumakina.com.tr: did not receive HSTS header
 kaela.design: could not connect to host
 kahopoon.net: could not connect to host
 kaisers.de: did not receive HSTS header
 kaiyuewu.com: could not connect to host
 kalami.nl: could not connect to host
 kamcvicit.sk: could not connect to host
 kamikano.com: could not connect to host
@@ -3222,16 +3233,17 @@ kaufkraftkiel.de: could not connect to h
 kausch.at: could not connect to host
 kavinvin.me: could not connect to host
 kawaiiku.com: could not connect to host
 kawaiiku.de: could not connect to host
 kcolford.com: could not connect to host
 kd-plus.pp.ua: could not connect to host
 kdata.it: did not receive HSTS header
 kdm-online.de: did not receive HSTS header
+kdyby.org: could not connect to host
 keeley.gq: could not connect to host
 keeley.ml: could not connect to host
 keeleysam.me: could not connect to host
 keepassa.co: could not connect to host
 keepclean.me: could not connect to host
 keepcoalintheground.org: could not connect to host
 kenderbeton-magyarorszag.hu: could not connect to host
 kenderbetonmagyarorszag.hu: could not connect to host
@@ -3320,17 +3332,16 @@ kolozsvaricsuhe.hu: did not receive HSTS
 komikito.com: could not connect to host
 kompetenzwerft.de: did not receive HSTS header
 konata.us: could not connect to host
 kontaxis.network: could not connect to host
 kontorhaus-schlachte.de: could not connect to host
 koopjesnel.nl: could not connect to host
 koordinate.net: could not connect to host
 kopfsalat.eu: could not connect to host
-korea.dating: did not receive HSTS header
 kori.ml: did not receive HSTS header
 korni22.org: did not receive HSTS header
 korsanparti.org: could not connect to host
 kostuumstore.nl: could not connect to host
 kotois.com: could not connect to host
 kotonehoko.net: could not connect to host
 kotovstyle.ru: could not connect to host
 koukni.cz: did not receive HSTS header
@@ -3398,16 +3409,17 @@ labs.directory: could not connect to hos
 labs.moscow: did not receive HSTS header
 lacaverne.nl: could not connect to host
 lachlankidson.net: did not receive HSTS header
 lacledeslan.ninja: could not connect to host
 lacocinadelila.com: did not receive HSTS header
 laf.in.net: could not connect to host
 lagalerievirtuelle.fr: did not receive HSTS header
 lagoza.name: could not connect to host
+lainchan.org: did not receive HSTS header
 lakhesis.net: could not connect to host
 lamaland.ru: did not receive HSTS header
 lambda-complex.org: could not connect to host
 lambdafive.co.uk: could not connect to host
 lampl.info: could not connect to host
 lana.swedbank.se: did not receive HSTS header
 lancehoteis.com.br: could not connect to host
 landgoedverkopen.nl: could not connect to host
@@ -3415,56 +3427,53 @@ landhuisverkopen.nl: could not connect t
 landscape.canonical.com: max-age too low: 2592000
 landscapingmedic.com: did not receive HSTS header
 langenbach.rocks: could not connect to host
 langendries.eu: could not connect to host
 langhun.me: did not receive HSTS header
 laniakean.com: could not connect to host
 lanzarote-online.info: could not connect to host
 laobox.fr: could not connect to host
-laos.dating: did not receive HSTS header
 laozhu.me: could not connect to host
 laplaceduvillage.net: could not connect to host
 laquack.com: could not connect to host
 laredsemanario.com: could not connect to host
 lasercloud.ml: could not connect to host
 laserfuchs.de: did not receive HSTS header
 lashstuff.com: did not receive HSTS header
-latino.dating: did not receive HSTS header
 latinred.com: could not connect to host
 latus.xyz: could not connect to host
 launchkey.com: did not receive HSTS header
 lausitzer-widerstand.de: did not receive HSTS header
 laventainnhotel-mailing.com: did not receive HSTS header
 lavine.ch: did not receive HSTS header
 lavito.cz: did not receive HSTS header
 lavval.com: could not connect to host
 lawformt.com: could not connect to host
 lawly.org: could not connect to host
 laxatus.com: could not connect to host
 laxiongames.es: could not connect to host
 laylo.nl: did not receive HSTS header
 lbarrios.es: could not connect to host
 lbrt.xyz: could not connect to host
 ldarby.me.uk: could not connect to host
-le-palantir.com: could not connect to host
+leadbook.ru: max-age too low: 604800
 leadership9.com: could not connect to host
 leardev.de: did not receive HSTS header
 learnedovo.com: did not receive HSTS header
 learnfrenchfluently.com: did not receive HSTS header
 learningorder.com: could not connect to host
 lebrun.org: could not connect to host
 leddruckalarm.de: did not receive HSTS header
 ledgerscope.net: could not connect to host
 leen.io: did not receive HSTS header
 leermotorrijden.nl: max-age too low: 300
 lefebvristes.com: could not connect to host
 lefebvristes.fr: could not connect to host
 legarage.org: could not connect to host
-lehighmathcircle.org: could not connect to host
 leifdreizler.com: could not connect to host
 leinir.dk: did not receive HSTS header
 leitner.com.au: did not receive HSTS header
 leiyun.me: did not receive HSTS header
 lellyboi.ml: could not connect to host
 lelongbank.com: did not receive HSTS header
 lemp.io: did not receive HSTS header
 lenagroben.de: could not connect to host
@@ -3515,16 +3524,17 @@ lianyexiuchang.in: could not connect to 
 liaoshuma.com: could not connect to host
 libanco.com: could not connect to host
 libertyrp.org: could not connect to host
 library.linode.com: did not receive HSTS header
 librechan.net: could not connect to host
 libreduca.com: could not connect to host
 lidl-selection.at: could not connect to host
 lidlovajogurteka.si: could not connect to host
+liemen.net: could not connect to host
 lifecoach.tw: did not receive HSTS header
 lifecoachproviders.com: did not receive HSTS header
 lifeguard.aecom.com: did not receive HSTS header
 lifeinitsownway.com: could not connect to host
 lifeskillsdirect.com: did not receive HSTS header
 lifestylehunter.co.uk: did not receive HSTS header
 lifetimemoneymachine.com: did not receive HSTS header
 lightarmory.com: could not connect to host
@@ -3545,17 +3555,17 @@ lingros-test.tk: could not connect to ho
 linguaquote.com: did not receive HSTS header
 lingvo-svoboda.ru: did not receive HSTS header
 linhaoyi.com: did not receive HSTS header
 link.ba: could not connect to host
 link2serve.com: did not receive HSTS header
 linmi.cc: did not receive HSTS header
 linno.me: could not connect to host
 linorman1997.me: could not connect to host
-linux.sb: did not receive HSTS header
+linux.sb: could not connect to host
 linuxandstuff.de: could not connect to host
 linuxeyecandy.com: could not connect to host
 linuxfixed.it: could not connect to host
 linuxforyou.com: could not connect to host
 linuxgeek.ro: could not connect to host
 linuxmint.cz: could not connect to host
 linuxmonitoring.net: did not receive HSTS header
 linuxproperties.com: did not receive HSTS header
@@ -3673,16 +3683,17 @@ m3-gmbh.de: did not receive HSTS header
 m82labs.com: did not receive HSTS header
 maarten.nyc: could not connect to host
 mabulledu.net: max-age too low: 7529400
 mac-torrents.me: did not receive HSTS header
 macbolo.com: could not connect to host
 macchedil.com: did not receive HSTS header
 macdj.tk: could not connect to host
 macgeneral.de: did not receive HSTS header
+macinyasha.net: could not connect to host
 macsandcheesedreams.com: could not connect to host
 madars.org: did not receive HSTS header
 maddin.ga: could not connect to host
 madebymagnitude.com: did not receive HSTS header
 maderwin.com: did not receive HSTS header
 madesoftware.com.br: could not connect to host
 mae-berlinistanbul.com: could not connect to host
 maelstrom.ninja: could not connect to host
@@ -3730,16 +3741,17 @@ manningbrothers.com: did not receive HST
 mansion-note.com: did not receive HSTS header
 maomaofuli.vip: could not connect to host
 maple5.com: did not receive HSTS header
 marchagen.nl: did not receive HSTS header
 marcoececilia.it: did not receive HSTS header
 marcofinke.de: could not connect to host
 marcontrol.com: did not receive HSTS header
 marcosteixeira.tk: could not connect to host
+marcschlagenhauf.de: could not connect to host
 marcus-scheffler.com: did not receive HSTS header
 margaretrosefashions.co.uk: could not connect to host
 mariannematthew.com: could not connect to host
 marie-curie.fr: could not connect to host
 marie-elisabeth.dk: did not receive HSTS header
 marie-en-provence.com: did not receive HSTS header
 marienschule-sundern.de: did not receive HSTS header
 mario.party: did not receive HSTS header
@@ -3773,17 +3785,17 @@ maskt.pw: max-age too low: 0
 masterapi.ninja: did not receive HSTS header
 masterdemolitioninc.com: could not connect to host
 masteringtheterminal.com: did not receive HSTS header
 mastimtibetano.com: could not connect to host
 mastod.life: could not connect to host
 mastodon.direct: could not connect to host
 mastodon.engineering: could not connect to host
 mastodon.my: could not connect to host
-mastodon.org.uk: did not receive HSTS header
+mastodon.org.uk: could not connect to host
 mastodones.club: could not connect to host
 masty.nl: did not receive HSTS header
 matatall.com: did not receive HSTS header
 matchneedle.com: could not connect to host
 maternalsafety.org: did not receive HSTS header
 matomeplus.co: could not connect to host
 matrict.com: could not connect to host
 matrip.de: could not connect to host
@@ -3929,17 +3941,16 @@ mikk.cz: could not connect to host
 miku.be: did not receive HSTS header
 miku.hatsune.my: max-age too low: 5184000
 milang.xyz: could not connect to host
 milatrans.pl: did not receive HSTS header
 milcoresonline.com: could not connect to host
 milesgeek.com: did not receive HSTS header
 military-portal.cz: did not receive HSTS header
 mimoderoupa.pt: could not connect to host
-mind.sh: could not connect to host
 mindcraft.ga: could not connect to host
 mindoktor.se: did not receive HSTS header
 minecraftforum.ch: could not connect to host
 minecraftserverz.com: could not connect to host
 minecraftvoter.com: could not connect to host
 mineover.es: could not connect to host
 minh.at: could not connect to host
 mini-piraten.de: did not receive HSTS header
@@ -4058,33 +4069,33 @@ mountainmusicpromotions.com: did not rec
 moviesabout.net: could not connect to host
 moy-gorod.od.ua: did not receive HSTS header
 mp3juices.is: could not connect to host
 mpe.org: could not connect to host
 mpintaamalabanna.it: could not connect to host
 mqas.net: could not connect to host
 mrdani.net: could not connect to host
 mredsanders.net: could not connect to host
+mremallin.ca: could not connect to host
 mrettich.org: did not receive HSTS header
 mrhack.cz: did not receive HSTS header
 mrning.com: did not receive HSTS header
 mrnonz.com: max-age too low: 0
 mrpopat.in: did not receive HSTS header
 mrs-shop.com: did not receive HSTS header
 msc-seereisen.net: could not connect to host
 msno.no: did not receive HSTS header
 mszaki.com: did not receive HSTS header
 mt.me.uk: could not connect to host
 mt.search.yahoo.com: did not receive HSTS header
 mtb.wtf: could not connect to host
 mtcgf.com: did not receive HSTS header
 mtdn.jp: could not connect to host
 mtg-esport.de: did not receive HSTS header
 mu.search.yahoo.com: did not receive HSTS header
-muchohentai.com: could not connect to host
 mudcrab.us: did not receive HSTS header
 mujadin.se: did not receive HSTS header
 munich-rage.de: could not connect to host
 munkiepus.com: did not receive HSTS header
 munuc.org: did not receive HSTS header
 munzee.com: did not receive HSTS header
 muriburi.land: could not connect to host
 muriburiland.com: could not connect to host
@@ -4115,20 +4126,19 @@ mydeos.com: could not connect to host
 mydigipass.com: did not receive HSTS header
 mydnaresults.com: could not connect to host
 mydnatest.com: did not receive HSTS header
 myepass.bg: could not connect to host
 myepass.de: could not connect to host
 mygate.at: could not connect to host
 mygdut.com: did not receive HSTS header
 mygov.scot: did not receive HSTS header
+myimds.com: did not receive HSTS header
 myiocc.org: could not connect to host
 mykreuzfahrt.de: could not connect to host
-mymed.de: could not connect to host
-mymed.eu: could not connect to host
 mynetblog.com: did not receive HSTS header
 myni.io: could not connect to host
 mypagella.com: could not connect to host
 mypagella.eu: could not connect to host
 mypagella.it: could not connect to host
 mypension.ca: could not connect to host
 myphonebox.de: could not connect to host
 myrig.com: could not connect to host
@@ -4164,16 +4174,17 @@ nan.zone: could not connect to host
 nandex.org: could not connect to host
 naniki.co.uk: did not receive HSTS header
 nanogeneinc.com: could not connect to host
 nansay.cn: could not connect to host
 nanto.eu: could not connect to host
 naphex.rocks: could not connect to host
 narada.com.ua: could not connect to host
 nashira.cz: did not receive HSTS header
+nasrsolar.com: could not connect to host
 natalia-fadeeva.ru: could not connect to host
 natalia.io: could not connect to host
 natalieandjoshua.com: could not connect to host
 natalt.org: did not receive HSTS header
 natanaelys.com: could not connect to host
 nathanmfarrugia.com: did not receive HSTS header
 nationwidevehiclecontracts.co.uk: did not receive HSTS header
 natural-progesterone.net: could not connect to host
@@ -4210,17 +4221,16 @@ neonnuke.tech: did not receive HSTS head
 neosolution.ca: did not receive HSTS header
 nephos.xyz: did not receive HSTS header
 nepustil.net: did not receive HSTS header
 neris.io: could not connect to host
 nestedquotes.ca: could not connect to host
 net-navi.cc: did not receive HSTS header
 netbox.cc: could not connect to host
 netherwind.eu: could not connect to host
-netica.fr: could not connect to host
 netlilo.com: could not connect to host
 netloanusa.com: could not connect to host
 netmagik.com: did not receive HSTS header
 netprofile.com.au: could not connect to host
 netresourcedesign.com: could not connect to host
 nettefoundation.com: could not connect to host
 networx-online.de: could not connect to host
 netzbit.de: could not connect to host
@@ -4249,16 +4259,17 @@ newportpropertygroup.com: could not conn
 newtonwarp.com: could not connect to host
 nextcloud.org: could not connect to host
 nexth.de: could not connect to host
 nexth.net: could not connect to host
 nexth.us: could not connect to host
 nextpages.de: could not connect to host
 nextproject.us: could not connect to host
 nfo.so: could not connect to host
+nframe.io: could not connect to host
 ng-security.com: could not connect to host
 ngine.ch: did not receive HSTS header
 nginxnudes.com: could not connect to host
 nglr.org: could not connect to host
 ngt-service.ru: did not receive HSTS header
 ni.search.yahoo.com: did not receive HSTS header
 niagarafalls.ca: did not receive HSTS header
 nibiisclaim.com: could not connect to host
@@ -4310,33 +4321,34 @@ nopex.no: could not connect to host
 nopol.de: could not connect to host
 norandom.com: could not connect to host
 norb.at: could not connect to host
 nordlicht.photography: could not connect to host
 nosecretshop.com: could not connect to host
 notadd.com: did not receive HSTS header
 notarobot.fr: could not connect to host
 nothing.net.nz: max-age too low: 7776000
-nottheonion.net: did not receive HSTS header
+nottheonion.net: could not connect to host
 nou.si: could not connect to host
 nouvelle-vague-saint-cast.fr: did not receive HSTS header
 nova-elearning.com: did not receive HSTS header
 novaco.in: max-age too low: 3600
 novacoast.com: did not receive HSTS header
 novascan.net: could not connect to host
 novatrucking.de: could not connect to host
 nowak.ninja: did not receive HSTS header
 noworrywp.com: could not connect to host
 nozoe.jp: could not connect to host
 np.search.yahoo.com: did not receive HSTS header
 npath.de: did not receive HSTS header
 npol.de: could not connect to host
 nqesh.com: did not receive HSTS header
 nrechn.de: could not connect to host
 nrizzio.me: could not connect to host
+nrnjn.xyz: could not connect to host
 ntbs.pro: could not connect to host
 ntse.xyz: could not connect to host
 nu3.at: did not receive HSTS header
 nu3.ch: did not receive HSTS header
 nu3.co.uk: could not connect to host
 nu3.com: did not receive HSTS header
 nu3.de: did not receive HSTS header
 nu3.dk: did not receive HSTS header
@@ -4364,17 +4376,16 @@ nwork.media: could not connect to host
 nyantec.com: did not receive HSTS header
 nycroth.com: did not receive HSTS header
 nyored.com: did not receive HSTS header
 nys-hk.com: could not connect to host
 nysepho.pw: could not connect to host
 nysifclaimcentral.com: did not receive HSTS header
 nystart.no: did not receive HSTS header
 nz.search.yahoo.com: max-age too low: 172800
-nzb.cat: did not receive HSTS header
 nzbs.io: could not connect to host
 nzquakes.maori.nz: could not connect to host
 o0o.one: could not connect to host
 oasis.mobi: did not receive HSTS header
 obermeiers.eu: could not connect to host
 oblast45.ru: did not receive HSTS header
 obscuredfiles.com: could not connect to host
 obsydian.org: could not connect to host
@@ -4478,16 +4489,17 @@ optimista.soy: could not connect to host
 optometriepunt.nl: did not receive HSTS header
 optumrxhealthstore.com: could not connect to host
 oracaodocredo.com.br: could not connect to host
 orbiosales.com: could not connect to host
 orbitcom.de: max-age too low: 0
 orbograph-hrcm.com: could not connect to host
 order.one: could not connect to host
 ordereat.fr: could not connect to host
+orderlounge.de: did not receive HSTS header
 orf-digitalsatkarte.at: could not connect to host
 organic-superfood.net: could not connect to host
 organisationsberatung-jacobi.de: did not receive HSTS header
 originpc.com: did not receive HSTS header
 orioncustompcs.com: could not connect to host
 orionfcu.com: did not receive HSTS header
 orionrebellion.com: could not connect to host
 orleika.ml: could not connect to host
@@ -4522,22 +4534,19 @@ overclockers.ge: could not connect to ho
 override.io: did not receive HSTS header
 oversight.io: could not connect to host
 ovuscloud.de: could not connect to host
 ovvy.net: did not receive HSTS header
 owncloud.help: could not connect to host
 ownmovies.fr: could not connect to host
 oxygenabsorbers.com: did not receive HSTS header
 oxynux.fr: could not connect to host
-oyoony.de: could not connect to host
+oyoony.de: did not receive HSTS header
 oyste.in: could not connect to host
-ozonitron.com: could not connect to host
-ozonitron.de: could not connect to host
-ozonitron.eu: could not connect to host
-ozonytron.com: could not connect to host
+p-pc.de: could not connect to host
 p.linode.com: could not connect to host
 p1c.pw: could not connect to host
 p3in.com: did not receive HSTS header
 p8r.de: could not connect to host
 pa.search.yahoo.com: did not receive HSTS header
 pablocamino.tk: could not connect to host
 pacelink.de: could not connect to host
 packlane.com: did not receive HSTS header
@@ -4621,19 +4630,20 @@ pc-nf.de: did not receive HSTS header
 pcfun.net: could not connect to host
 pchax.net: could not connect to host
 pchospital.cc: did not receive HSTS header
 pdamsidoarjo.co.id: could not connect to host
 pdevio.com: could not connect to host
 pdf.yt: could not connect to host
 peaceandwool.com: did not receive HSTS header
 peakapp.nl: could not connect to host
+pebblesdemo.com: could not connect to host
 peerherrmann.de: could not connect to host
 peetah.com: max-age too low: 0
-peissen.com: could not connect to host
+peissen.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 pekkapikkarainen.fi: did not receive HSTS header
 pekkarik.ru: could not connect to host
 peliculasaudiolatinoonline.com: could not connect to host
 pengui.uk: could not connect to host
 penguinclientsystem.com: did not receive HSTS header
 pennergold.net: could not connect to host
 pentano.net: could not connect to host
 pentest.nl: could not connect to host
@@ -4681,17 +4691,16 @@ phdsupply.com: did not receive HSTS head
 phillmoore.com: did not receive HSTS header
 phillprice.com: could not connect to host
 philpropertygroup.com: could not connect to host
 phoebe.co.nz: did not receive HSTS header
 phonenumberinfo.co.uk: could not connect to host
 phongmay24h.com: could not connect to host
 photoancestry.com: did not receive HSTS header
 photoblogverona.com: could not connect to host
-phparcade.com: could not connect to host
 phus.lu: did not receive HSTS header
 physicaltherapist.com: did not receive HSTS header
 picardiascr.com: did not receive HSTS header
 pickr.co: did not receive HSTS header
 picotronic.biz: could not connect to host
 picscare.co.uk: did not receive HSTS header
 pieterjangeeroms.me: could not connect to host
 piggott.me.uk: did not receive HSTS header
@@ -4732,16 +4741,17 @@ plaettliaktion.ch: did not receive HSTS 
 planpharmacy.com: could not connect to host
 plass.hamburg: could not connect to host
 platform.lookout.com: could not connect to host
 platomania.eu: did not receive HSTS header
 play.google.com: did not receive HSTS header (error ignored - included regardless)
 playerhunter.com: did not receive HSTS header
 playflick.com: did not receive HSTS header
 playmaker.io: could not connect to host
+playmyplay.com: did not receive HSTS header
 playnation.io: could not connect to host
 playsharp.com: could not connect to host
 pleier-it.de: did not receive HSTS header
 pleier.it: did not receive HSTS header
 plfgr.eu.org: could not connect to host
 plhdb.org: did not receive HSTS header
 plirt.ru: did not receive HSTS header
 plixer.com: did not receive HSTS header
@@ -4780,32 +4790,32 @@ polycoise.com: could not connect to host
 polypho.nyc: could not connect to host
 pompefunebrilariviera.it: could not connect to host
 pompompoes.com: could not connect to host
 ponolau.com: did not receive HSTS header
 pontualcomp.com: could not connect to host
 pony.today: did not receive HSTS header
 poolsandstuff.com: did not receive HSTS header
 poon.tech: could not connect to host
+pornbay.org: could not connect to host
 porno-gif.ru: did not receive HSTS header
 pornstars.me: did not receive HSTS header
 portalplatform.net: could not connect to host
-portalzine.de: did not receive HSTS header
 poshpak.com: max-age too low: 86400
 postcodewise.co.uk: could not connect to host
 posterspy.com: did not receive HSTS header
 postscheduler.org: could not connect to host
 posylka.de: did not receive HSTS header
 potatoheads.net: could not connect to host
 potbar.com: could not connect to host
 potlytics.com: could not connect to host
 potsky.com: did not receive HSTS header
 poussinooz.fr: could not connect to host
 povitria.net: could not connect to host
-power99press.com: did not receive HSTS header
+power99press.com: could not connect to host
 powerplannerapp.com: did not receive HSTS header
 powershift.ne.jp: did not receive HSTS header
 powerxequality.com: could not connect to host
 pozyczka-bez-zaswiadczen.pl: did not receive HSTS header
 ppr-truby.ru: could not connect to host
 ppuu.org: did not receive HSTS header
 ppy3.com: did not receive HSTS header
 pr.search.yahoo.com: did not receive HSTS header
@@ -4855,17 +4865,16 @@ proitconsulting.com.au: could not connec
 project-sparks.eu: did not receive HSTS header
 projectmercury.space: could not connect to host
 prok.pw: could not connect to host
 promecon-gmbh.de: did not receive HSTS header
 prontocleaners.co.uk: could not connect to host
 prontolight.com: did not receive HSTS header
 prontomovers.co.uk: could not connect to host
 propactrading.com: could not connect to host
-property-catalogue.eu: did not receive HSTS header
 prosocialmachines.com: could not connect to host
 prosoft.sk: did not receive HSTS header
 prosperident.com: did not receive HSTS header
 protoyou.de: did not receive HSTS header
 prowhisky.de: did not receive HSTS header
 proximato.com: could not connect to host
 proxybay.al: could not connect to host
 proxybay.club: could not connect to host
@@ -4993,17 +5002,17 @@ razlaw.name: did not receive HSTS header
 rbhighinc.org: could not connect to host
 rbose.org: could not connect to host
 rbti.me: could not connect to host
 rc-rp.com: did not receive HSTS header
 rc4.io: could not connect to host
 rcafox.com: could not connect to host
 rcorporation.be: did not receive HSTS header
 rcpcbd.com: could not connect to host
-rcvd.io: max-age too low: 0
+rcvd.io: did not receive HSTS header
 rdl.at: did not receive HSTS header
 rdns.im: did not receive HSTS header
 re-customer.net: did not receive HSTS header
 reachr.com: could not connect to host
 reader.ga: could not connect to host
 readr.pw: could not connect to host
 reagir43.fr: did not receive HSTS header
 realmic.net: could not connect to host
@@ -5068,37 +5077,37 @@ repaxan.com: could not connect to host
 replacemychina.com: could not connect to host
 reprolife.co.uk: could not connect to host
 res-rheingau.de: did not receive HSTS header
 res42.com: could not connect to host
 resama.eu: did not receive HSTS header
 research.facebook.com: did not receive HSTS header
 reserve-online.net: did not receive HSTS header
 residentsinsurance.co.uk: did not receive HSTS header
-resl20.servehttp.com: could not connect to host
 respice.xyz: could not connect to host
 respostas.com.br: did not receive HSTS header
 restchart.com: did not receive HSTS header
 restrealitaet.de: did not receive HSTS header
 retcor.net: could not connect to host
 revapost.ch: could not connect to host
 revealdata.com: did not receive HSTS header
 revello.org: did not receive HSTS header
 reverie.pw: could not connect to host
+reviewjust.com: did not receive HSTS header
 reviews.anime.my: max-age too low: 5184000
 revtut.net: did not receive HSTS header
 rewardstock.com: max-age too low: 0
 rewopit.net: could not connect to host
-rex.st: could not connect to host
 rhapsodhy.hu: could not connect to host
 rhdigital.pro: could not connect to host
 rhering.de: could not connect to host
 riaucybersolution.net: did not receive HSTS header
 richiemail.net: did not receive HSTS header
 richmondsunlight.com: did not receive HSTS header
+richmtdriver.com: could not connect to host
 richsiciliano.com: could not connect to host
 richterphilipp.com: could not connect to host
 rid-wan.com: could not connect to host
 rideworks.com: did not receive HSTS header
 ridwan.co: did not receive HSTS header
 riesenmikrobe.de: max-age too low: 86400
 riesenmikroben.at: max-age too low: 86400
 riesenmikroben.de: max-age too low: 86400
@@ -5203,17 +5212,17 @@ ruxit.com: did not receive HSTS header
 rw.search.yahoo.com: did not receive HSTS header
 rx-contact.com: could not connect to host
 rxprep.com: did not receive HSTS header
 rxt.social: could not connect to host
 rxv.cc: could not connect to host
 ryanteck.uk: did not receive HSTS header
 rylin.net: did not receive HSTS header
 rzegroup.com: did not receive HSTS header
-s.how: did not receive HSTS header
+s.how: could not connect to host
 safelist.eu: did not receive HSTS header
 safematix.com: could not connect to host
 safemovescheme.co.uk: did not receive HSTS header
 saferedirect.link: could not connect to host
 safewings-nh.nl: did not receive HSTS header
 sageth.com: max-age too low: 0
 sah3.net: could not connect to host
 sail-nyc.com: did not receive HSTS header
@@ -5231,28 +5240,27 @@ samegoal.org: did not receive HSTS heade
 sametovymesic.cz: could not connect to host
 samfunnet.no: max-age too low: 0
 saml2.com: could not connect to host
 sampcup.com: could not connect to host
 sampoznay.ru: did not receive HSTS header
 samraskauskas.com: could not connect to host
 samsen.club: did not receive HSTS header
 sanasalud.org: could not connect to host
-sanchez.adv.br: could not connect to host
 sandviks.com: could not connect to host
 sanguoxiu.com: could not connect to host
 sanik.my: could not connect to host
 sanmuding.com: could not connect to host
 sansdev.com: could not connect to host
 sansemea.com: did not receive HSTS header
 sansonehowell.com: max-age too low: 0
 sarah-beckett-harpist.com: did not receive HSTS header
 sarahsweetlife.com: could not connect to host
 sarahsweger.com: did not receive HSTS header
-sarisonproductions.com: did not receive HSTS header
+sarisonproductions.com: could not connect to host
 saruwebshop.co.za: could not connect to host
 satanichia.moe: could not connect to host
 satinn.pl: max-age too low: 2592000
 satmep.com: did not receive HSTS header
 satoshicrypt.com: did not receive HSTS header
 satriyowibowo.my.id: did not receive HSTS header
 satsukii.moe: did not receive HSTS header
 saturne.tk: could not connect to host
@@ -5268,16 +5276,17 @@ say-hanabi.com: could not connect to hos
 sazima.ru: did not receive HSTS header
 sbox-archives.com: could not connect to host
 sby.de: did not receive HSTS header
 sc4le.com: could not connect to host
 scannabi.com: could not connect to host
 schadegarant.net: could not connect to host
 schauer.so: could not connect to host
 scherzstempel.de: max-age too low: 86400
+schmitz.link: did not receive HSTS header
 schnell-gold.com: could not connect to host
 schooltrends.co.uk: did not receive HSTS header
 schopenhauer-institut.de: did not receive HSTS header
 schreiber-netzwerk.eu: did not receive HSTS header
 schrodinger.io: could not connect to host
 schroettle.com: did not receive HSTS header
 schulterglatzen-altenwalde.de: could not connect to host
 schultzflorists.com: could not connect to host
@@ -5459,16 +5468,17 @@ silentlink.io: could not connect to host
 silicagelpackets.ca: did not receive HSTS header
 silkebaekken.no: did not receive HSTS header
 silver-drachenkrieger.de: did not receive HSTS header
 silverhome.ninja: could not connect to host
 silverpvp.com: could not connect to host
 simbast.com: could not connect to host
 simbihaiti.com: did not receive HSTS header
 simbolo.co.uk: could not connect to host
+simccorp.com: did not receive HSTS header
 simfri.com: did not receive HSTS header
 simobilklub.si: did not receive HSTS header
 simod.org: could not connect to host
 simon-pokorny.com: did not receive HSTS header
 simon.butcher.name: max-age too low: 2629743
 simongong.net: did not receive HSTS header
 simpan.id: could not connect to host
 simpleai.net: max-age too low: 600
@@ -5476,16 +5486,17 @@ simplelearner.com: could not connect to 
 simplepractice.com: did not receive HSTS header
 simplixos.org: could not connect to host
 simply-premium.com: did not receive HSTS header
 simus.fr: did not receive HSTS header
 sin30.net: could not connect to host
 sincron.org: could not connect to host
 sinful.pw: could not connect to host
 singul4rity.com: could not connect to host
+sinnovate.de: could not connect to host
 sinosky.org: did not receive HSTS header
 siriad.com: could not connect to host
 sirius-lee.net: could not connect to host
 sitennisclub.com: did not receive HSTS header
 siterip.org: could not connect to host
 sites.google.com: did not receive HSTS header (error ignored - included regardless)
 sitesten.com: did not receive HSTS header
 sixtwentyten.com: did not receive HSTS header
@@ -5586,17 +5597,16 @@ soobi.org: did not receive HSTS header
 soondy.com: did not receive HSTS header
 sorincocorada.ro: could not connect to host
 sosaka.ml: could not connect to host
 sosiolog.com: did not receive HSTS header
 sotor.de: did not receive HSTS header
 soucorneteiro.com.br: could not connect to host
 soulema.com: could not connect to host
 soulfulglamour.uk: could not connect to host
-soulmate.dating: did not receive HSTS header
 sourcelair.com: did not receive HSTS header
 southgale.condos: could not connect to host
 southside-crew.club: could not connect to host
 southworcestershiregpservices.co.uk: could not connect to host
 souyar.de: could not connect to host
 souyar.net: could not connect to host
 souyar.us: could not connect to host
 sovereignshare.com: could not connect to host
@@ -5626,17 +5636,16 @@ sperohub.io: could not connect to host
 spiegels.nl: could not connect to host
 spielcasinos.com: did not receive HSTS header
 spikeykc.me: did not receive HSTS header
 spillmaker.no: did not receive HSTS header
 spilsbury.io: could not connect to host
 spirit-dev.net: max-age too low: 0
 spititout.it: could not connect to host
 spittersberger.recipes: did not receive HSTS header
-spodelime.com: did not receive HSTS header
 spokonline.com: could not connect to host
 sponsortobias.com: could not connect to host
 sportchirp-internal.azurewebsites.net: did not receive HSTS header
 sporthit.ru: did not receive HSTS header
 sportwette.eu: did not receive HSTS header
 spot-events.com: could not connect to host
 spotifyripper.tk: could not connect to host
 spotlightsrule.ddns.net: could not connect to host
@@ -5672,38 +5681,39 @@ stadtbauwerk.at: did not receive HSTS he
 staffjoystaging.com: could not connect to host
 stahl.xyz: could not connect to host
 stalkerhispano.com: max-age too low: 0
 stalkerteam.pl: did not receive HSTS header
 stalschermer.nl: could not connect to host
 stamonicatourandtravel.com: could not connect to host
 standardssuck.org: did not receive HSTS header
 standingmist.com: did not receive HSTS header
+star-citizen.wiki: did not receive HSTS header
 starandshield.com: did not receive HSTS header
 starapple.nl: did not receive HSTS header
 starfeeling.net: could not connect to host
 stargatepartners.com: did not receive HSTS header
 starmusic.ga: did not receive HSTS header
 starttraffic.com: did not receive HSTS header
 startuponcloud.com: max-age too low: 2678400
 startuppeople.co.uk: could not connect to host
 stash.ai: did not receive HSTS header
+stassi.ch: could not connect to host
 state-sponsored-actors.net: could not connect to host
 statementinsertsforless.com: did not receive HSTS header
 stateofexception.io: could not connect to host
 static.or.at: did not receive HSTS header
 staticanime.net: could not connect to host
 stationaryjourney.com: did not receive HSTS header
 stationcharlie.co.za: did not receive HSTS header
 stationnementdenuit.ca: did not receive HSTS header
 status-sprueche.de: did not receive HSTS header
 statuschecks.net: could not connect to host
 stayokhotelscdc-mailing.com: could not connect to host
 stcomex.com: did not receive HSTS header
-steckregal-super.de: did not receive HSTS header
 steelbea.ms: could not connect to host
 stefanweiser.de: did not receive HSTS header
 stepbystep3d.com: did not receive HSTS header
 stephanierxo.com: did not receive HSTS header
 stephanos.me: could not connect to host
 stephenandburns.com: did not receive HSTS header
 stevensononthe.net: did not receive HSTS header
 stewartremodelingadvantage.com: did not receive HSTS header
@@ -5728,16 +5738,17 @@ storeden.com: did not receive HSTS heade
 storefrontify.com: did not receive HSTS header
 storiesofhealth.org: could not connect to host
 stormhub.org: could not connect to host
 stqry.com: did not receive HSTS header
 str0.at: did not receive HSTS header
 strasweb.fr: did not receive HSTS header
 strbt.de: could not connect to host
 strchr.com: did not receive HSTS header
+stream.pub: did not receive HSTS header
 streamingeverywhere.com: could not connect to host
 streamingmagazin.de: could not connect to host
 streams.dyndns.org: could not connect to host
 strictlynormal.com: could not connect to host
 strictlysudo.com: could not connect to host
 strivephysmed.com: did not receive HSTS header
 stroeercrm.de: could not connect to host
 strongest-privacy.com: could not connect to host
@@ -5764,52 +5775,52 @@ subsys.no: did not receive HSTS header
 subtitle.rip: could not connect to host
 sudo.li: did not receive HSTS header
 suian.or.jp: max-age too low: 86400
 suite73.org: could not connect to host
 summitbankofkc.com: did not receive HSTS header
 sumoatm.com: did not receive HSTS header
 sumoscout.de: did not receive HSTS header
 suncountrymarine.com: did not receive HSTS header
-sunflyer.cn: did not receive HSTS header
 sunfulong.me: could not connect to host
 sunnyfruit.ru: could not connect to host
 sunshinepress.org: could not connect to host
 sunyanzi.tk: could not connect to host
 suos.io: could not connect to host
 supcro.com: could not connect to host
 super-erotica.ru: did not receive HSTS header
 super-garciniaslim.com: could not connect to host
 super-radiant-skin.com: could not connect to host
 super-ripped-power.com: could not connect to host
 super-slim-coffee.com: could not connect to host
 superbabysitting.ch: could not connect to host
 superbike.tw: could not connect to host
 supereight.net: did not receive HSTS header
 superiorfloridavacation.com: did not receive HSTS header
 superklima.ro: did not receive HSTS header
+superlandnetwork.de: could not connect to host
 supersalescontest.nl: did not receive HSTS header
 superschnappchen.de: could not connect to host
 supersecurefancydomain.com: could not connect to host
 supertramp-dafonseca.com: did not receive HSTS header
 superuser.fi: could not connect to host
 superwally.org: could not connect to host
 suprlink.net: could not connect to host
 supweb.ovh: did not receive HSTS header
+surasak.io: could not connect to host
 surasak.org: could not connect to host
 surfeasy.com: did not receive HSTS header
 surfone-leucate.com: did not receive HSTS header
 sushifrick.de: could not connect to host
 suzukikenichi.com: did not receive HSTS header
 sv.search.yahoo.com: did not receive HSTS header
 svatba-frantovi.cz: could not connect to host
 svenluijten.com: did not receive HSTS header
 svenskacasino.com: did not receive HSTS header
 sviz.pro: could not connect to host
-sw-servers.net: did not receive HSTS header
 swdatlantico.pt: could not connect to host
 sweetll.me: could not connect to host
 sweetstreats.ca: could not connect to host
 swimbee.nl: did not receive HSTS header
 swimming.ca: did not receive HSTS header
 swmd5c.org: did not receive HSTS header
 swu.party: could not connect to host
 sxbk.pw: could not connect to host
@@ -5853,16 +5864,17 @@ tageau.com: could not connect to host
 taglondon.org: did not receive HSTS header
 tahf.net: did not receive HSTS header
 tailify.com: did not receive HSTS header
 tails.com.ar: did not receive HSTS header
 talado.gr: could not connect to host
 tales-of-interia.de: could not connect to host
 talheim-records.ca: could not connect to host
 talk.google.com: did not receive HSTS header (error ignored - included regardless)
+talkitup.online: did not receive HSTS header
 talklifestyle.nl: could not connect to host
 tallr.se: could not connect to host
 tallshoe.com: could not connect to host
 tamex.xyz: could not connect to host
 tanak3n.xyz: could not connect to host
 tandarts-haarlem.nl: did not receive HSTS header
 tangel.me: could not connect to host
 tangibilizing.com: could not connect to host
@@ -5935,16 +5947,17 @@ telefonnummer.online: could not connect 
 telefoonnummerinfo.nl: could not connect to host
 telescam.com: could not connect to host
 tellingua.com: did not receive HSTS header
 temehu.com: did not receive HSTS header
 tempcraft.net: could not connect to host
 tempus-aquilae.de: could not connect to host
 tendertool.nl: could not connect to host
 tengroup.com: did not receive HSTS header
+tenmm.com: could not connect to host
 tenni.xyz: could not connect to host
 tensei-slime.com: did not receive HSTS header
 tensionup.com: could not connect to host
 tenthousandcoffees.com: did not receive HSTS header
 tentins.com: could not connect to host
 teos.online: could not connect to host
 terra.by: did not receive HSTS header
 terrax.berlin: could not connect to host
@@ -5964,17 +5977,17 @@ tfl.lu: did not receive HSTS header
 tgr.re: could not connect to host
 thagki9.com: could not connect to host
 thai.land: did not receive HSTS header
 thaihostcool.com: did not receive HSTS header
 thailandpropertylistings.com: did not receive HSTS header
 the-construct.com: could not connect to host
 the-delta.net.eu.org: could not connect to host
 the-sky-of-valkyries.com: could not connect to host
-theamateurs.net: did not receive HSTS header
+theamateurs.net: could not connect to host
 theater.cf: could not connect to host
 theberkshirescompany.com: could not connect to host
 thebigfail.net: could not connect to host
 thebrightons.co.uk: did not receive HSTS header
 thebrotherswarde.com: could not connect to host
 thecapitalbank.com: did not receive HSTS header
 thecharlestonwaldorf.com: did not receive HSTS header
 theclementinebutchers.com: could not connect to host
@@ -5985,45 +5998,48 @@ theendofzion.com: did not receive HSTS h
 theescapistswiki.com: could not connect to host
 thefarbeyond.com: could not connect to host
 theflowerbasketonline.com: could not connect to host
 thefootballanalyst.com: did not receive HSTS header
 thefrozenfire.com: did not receive HSTS header
 thefutureharrills.com: could not connect to host
 thegcccoin.com: did not receive HSTS header
 thego2swatking.com: could not connect to host
+thegoldregister.co.uk: did not receive HSTS header
 thehiddenbay.eu: could not connect to host
 thehiddenbay.me: could not connect to host
 thehiddenbay.net: could not connect to host
 thehighersideclothing.com: did not receive HSTS header
 thehistory.me: could not connect to host
 thehonorguard.org: did not receive HSTS header
 thehoopsarchive.com: could not connect to host
 theinvisibletrailer.com: could not connect to host
 thejserver.de: could not connect to host
 thelapine.ca: did not receive HSTS header
+themanufacturingmarketingagency.com: could not connect to host
 themarble.co: could not connect to host
 themicrocapital.com: could not connect to host
 themimitoof.fr: did not receive HSTS header
 themoderate.xyz: could not connect to host
 thenextstep.events: could not connect to host
 theodorejones.info: could not connect to host
 thepartywarehouse.co.uk: did not receive HSTS header
 thepcweb.tk: could not connect to host
 thepiratebay.al: could not connect to host
 thepiratebay.poker: could not connect to host
 thepiratebay.tech: could not connect to host
-therevenge.me: did not receive HSTS header
 therewill.be: could not connect to host
+theroyalmarinescharity.org.uk: could not connect to host
 thestack.xyz: could not connect to host
 thestagchorleywood.co.uk: did not receive HSTS header
 thetradinghall.com: could not connect to host
 theurbanyoga.com: did not receive HSTS header
 thevintagenews.com: max-age too low: 0
 thewebfellas.com: did not receive HSTS header
+theworkingeye.nl: could not connect to host
 thewp.pro: could not connect to host
 thezonders.com: did not receive HSTS header
 thierfreund.de: could not connect to host
 thinkcoding.de: could not connect to host
 thinkcoding.org: could not connect to host
 thinkdo.jp: could not connect to host
 thinlyveiledcontempt.com: could not connect to host
 thirdpartytrade.com: did not receive HSTS header
@@ -6092,16 +6108,17 @@ titties.ml: could not connect to host
 tjc.wiki: could not connect to host
 tkappertjedemetamorfose.nl: could not connect to host
 tlcdn.net: could not connect to host
 tlo.hosting: could not connect to host
 tlo.link: did not receive HSTS header
 tlo.network: could not connect to host
 tls.li: could not connect to host
 tlsbv.nl: did not receive HSTS header
+tlshost.net: could not connect to host
 tm-solutions.eu: did not receive HSTS header
 tmaward.net: could not connect to host
 tmitchell.io: could not connect to host
 tmprod.com: did not receive HSTS header
 tncnanet.com.br: could not connect to host
 tnrsca.jp: did not receive HSTS header
 toast.al: could not connect to host
 tobias-bielefeld.de: did not receive HSTS header
@@ -6177,17 +6194,16 @@ traumhuetten.de: could not connect to ho
 travality.ru: did not receive HSTS header
 travel-kuban.ru: did not receive HSTS header
 travelinsurance.co.nz: did not receive HSTS header
 treasuredinheritanceministry.com: did not receive HSTS header
 treatprostatewithhifu.com: could not connect to host
 treeby.net: could not connect to host
 trell.co.in: did not receive HSTS header
 trendberry.ru: could not connect to host
-tribaldos.com: did not receive HSTS header
 trileg.net: could not connect to host
 trinityaffirmations.com: max-age too low: 0
 trinitycore.org: max-age too low: 2592000
 tripdelta.com: did not receive HSTS header
 tripinsider.club: did not receive HSTS header
 trixies-wish.nz: could not connect to host
 troi.de: did not receive HSTS header
 trollme.me: could not connect to host
@@ -6272,16 +6288,17 @@ uberfunction.com: did not receive HSTS h
 ubi.gg: could not connect to host
 ubicloud.de: could not connect to host
 ublox.com: did not receive HSTS header
 ubuntuhot.com: did not receive HSTS header
 uega.net: did not receive HSTS header
 ueu.me: could not connect to host
 ufgaming.com: did not receive HSTS header
 ufotable.uk: could not connect to host
+ugo.ninja: could not connect to host
 uhm.io: could not connect to host
 ui8.net: max-age too low: 86400
 ukas.com: did not receive HSTS header
 ukdropshipment.co.uk: could not connect to host
 ukdropshipment.com: could not connect to host
 ukk.dk: did not receive HSTS header
 ukrgadget.com: could not connect to host
 ulabox.cat: did not receive HSTS header
@@ -6332,17 +6349,16 @@ unitrade-425.co.za: did not receive HSTS
 university4industry.com: did not receive HSTS header
 univz.com: could not connect to host
 unknownphenomena.net: could not connect to host
 unmanaged.space: did not receive HSTS header
 unplugg3r.dk: could not connect to host
 unravel.ie: could not connect to host
 unsystem.net: did not receive HSTS header
 unwiredbrain.com: could not connect to host
-unwomen.is: did not receive HSTS header
 unyq.me: could not connect to host
 uonstaffhub.com: could not connect to host
 uow.ninja: could not connect to host
 up1.ca: could not connect to host
 upaknship.com: did not receive HSTS header
 upboard.jp: could not connect to host
 upldr.pw: could not connect to host
 uporoops.com: could not connect to host
@@ -6391,17 +6407,16 @@ vaelma.fi: max-age too low: 600
 valethound.com: could not connect to host
 valkyrja.xyz: did not receive HSTS header
 valleyridgepta.org: could not connect to host
 vallis.net: did not receive HSTS header
 valmagus.com: could not connect to host
 vampirism.eu: could not connect to host
 vanacht.co.za: did not receive HSTS header
 vanderkley.it: could not connect to host
-vanderstraeten.dynv6.net: could not connect to host
 vanestack.com: could not connect to host
 vanetv.com: could not connect to host
 vanitas.xyz: could not connect to host
 vanitynailworkz.com: could not connect to host
 vansieleghem.com: could not connect to host
 vasanth.org: could not connect to host
 vbulletin-russia.com: could not connect to host
 vbulletinrussia.com: could not connect to host
@@ -6412,16 +6427,17 @@ veblen.com: could not connect to host
 vechkasov.ru: did not receive HSTS header
 vedatkamer.com: did not receive HSTS header
 vega.dyndns.info: could not connect to host
 veggiefasting.com: could not connect to host
 vehent.org: did not receive HSTS header
 vemokin.net: did not receive HSTS header
 venixplays-stream.ml: could not connect to host
 ventizo.com: did not receive HSTS header
+venturepro.com: could not connect to host
 verifikatorindonesia.com: could not connect to host
 vermontcareergateway.org: could not connect to host
 versia.ru: did not receive HSTS header
 veryhax.de: could not connect to host
 vestacp.top: could not connect to host
 vetdnacenter.com: did not receive HSTS header
 veterinaire-cazeres-foucault.fr: could not connect to host
 vetmgmt.com: could not connect to host
@@ -6449,18 +6465,19 @@ villenvinkit.com: did not receive HSTS h
 vinasec.se: could not connect to host
 vincentkooijman.at: did not receive HSTS header
 vincentkooijman.nl: did not receive HSTS header
 vintageheartcoffee.com: did not receive HSTS header
 vio.no: did not receive HSTS header
 violenceinterrupted.org: did not receive HSTS header
 viperdns.com: could not connect to host
 viphospitality.se: could not connect to host
+vipi.es: could not connect to host
 vipmusic.ga: could not connect to host
-virginiacrimeanalysisnetwork.org: could not connect to host
+virginiacrimeanalysisnetwork.org: did not receive HSTS header
 visitbroadstairs.com: could not connect to host
 vissanum.com: did not receive HSTS header
 vistaalmar.es: could not connect to host
 vistarait.com: did not receive HSTS header
 vitagenda.nl: could not connect to host
 vitalita.cz: did not receive HSTS header
 vitalorange.com: did not receive HSTS header
 vitta.me: did not receive HSTS header
@@ -6526,30 +6543,31 @@ wallabag.org: did not receive HSTS heade
 wallet.google.com: did not receive HSTS header (error ignored - included regardless)
 wallsblog.dk: could not connect to host
 walnutgaming.co.uk: could not connect to host
 walterlynnmosley.com: did not receive HSTS header
 wan.pp.ua: could not connect to host
 wanban.io: could not connect to host
 wangjun.me: did not receive HSTS header
 wangqiliang.xn--fiqs8s: could not connect to host
-wangzuan168.cc: did not receive HSTS header
+wangzuan168.cc: could not connect to host
 wanybug.cn: could not connect to host
 wapjt.cn: could not connect to host
 wapt.fr: did not receive HSTS header
 warandpeace.xyz: could not connect to host
 warehost.de: did not receive HSTS header
 warezaddict.com: could not connect to host
 warhistoryonline.com: max-age too low: 0
 warmservers.com: could not connect to host
 warped.com: did not receive HSTS header
 warrencreative.com: did not receive HSTS header
 warsentech.com: could not connect to host
 washingtonviews.com: did not receive HSTS header
 watchium.com: did not receive HSTS header
+waterforlife.net.au: could not connect to host
 watersportmarkt.net: did not receive HSTS header
 watsonhall.uk: could not connect to host
 wave.is: could not connect to host
 wavefrontsystemstech.com: could not connect to host
 we-bb.com: could not connect to host
 wear2work.nl: did not receive HSTS header
 weaverhairextensions.nl: could not connect to host
 web-industry.fr: could not connect to host
@@ -6627,31 +6645,29 @@ whitestagforge.com: did not receive HSTS
 whoclicks.net: could not connect to host
 whoisapi.online: could not connect to host
 wholebites.com: did not receive HSTS header
 whoneedstobeprimaried.today: could not connect to host
 whoshotya.de: did not receive HSTS header
 whysuck.com: could not connect to host
 wienholding.at: max-age too low: 0
 wieninternational.at: did not receive HSTS header
-wifree.lv: could not connect to host
 wiire.me: could not connect to host
 wikiclash.info: could not connect to host
 wikimilk.org: could not connect to host
 wikisports.eu: could not connect to host
 wildbee.org: could not connect to host
 wilf1rst.com: could not connect to host
 wilfrid-calixte.fr: could not connect to host
 willcipriano.com: could not connect to host
 william.si: did not receive HSTS header
 williamsapiens.com: could not connect to host
 willosagiede.com: did not receive HSTS header
 winaes.com: did not receive HSTS header
 winclient.cn: could not connect to host
-windows10insider.com: did not receive HSTS header
 windowsphoneblog.it: max-age too low: 0
 winebid.com: could not connect to host
 winecodeavocado.com: could not connect to host
 winged.io: could not connect to host
 wingumd.net: could not connect to host
 winpack.cf: could not connect to host
 winpack.eu.org: could not connect to host
 winsec.nl: could not connect to host
@@ -6734,17 +6750,16 @@ www.jitsi.org: did not receive HSTS head
 www.ledgerscope.net: could not connect to host
 www.logentries.com: did not receive HSTS header
 www.makeyourlaws.org: could not connect to host
 www.moneybookers.com: did not receive HSTS header
 www.neonisi.com: could not connect to host
 www.paycheckrecords.com: did not receive HSTS header
 www.rme.li: did not receive HSTS header
 www.sandbox.mydigipass.com: could not connect to host
-www.sb: could not connect to host
 www.simbolo.co.uk: could not connect to host
 www.surfeasy.com: did not receive HSTS header
 www.zenpayroll.com: did not receive HSTS header
 www3.info: did not receive HSTS header
 wxukang.cn: could not connect to host
 wybmabiity.com: max-age too low: 0
 wygluszanie.eu: did not receive HSTS header
 x-power-detox.com: could not connect to host
@@ -6772,16 +6787,17 @@ xiaody.me: could not connect to host
 xiaolvmu.com: could not connect to host
 xiaolvmu.me: could not connect to host
 xiaoxiao.im: could not connect to host
 xiazhanjian.com: could not connect to host
 ximens.me: could not connect to host
 xisa.it: could not connect to host
 xiyu.moe: could not connect to host
 xjoin.de: could not connect to host
+xlii.io: could not connect to host
 xliu.cf: max-age too low: 0
 xmerak.com: could not connect to host
 xmonk.org: could not connect to host
 xmr.my: did not receive HSTS header
 xn--3lqp21gwna.xn--fiqs8s: could not connect to host
 xn--3lqp21gwna.xn--fiqz9s: could not connect to host
 xn--3lqt7ir4md4tzwa.cn: did not receive HSTS header
 xn--3lqt7ir4md4tzwa.xn--fiqs8s: did not receive HSTS header
@@ -6883,39 +6899,39 @@ youon.tokyo: could not connect to host
 yourbapp.ch: could not connect to host
 yourcomputer.expert: did not receive HSTS header
 yoursecondphone.co: could not connect to host
 yourstrongbox.com: could not connect to host
 ypiresia.fr: could not connect to host
 ytcuber.xyz: could not connect to host
 yu7.jp: did not receive HSTS header
 yuan.ga: did not receive HSTS header
-yuhen.ru: did not receive HSTS header
+yuhen.ru: could not connect to host
 yuko.moe: could not connect to host
 yummyfamilyrecipes.com: could not connect to host
 yunpan.blue: could not connect to host
 yunzhu.li: did not receive HSTS header
 yunzhu.org: could not connect to host
 yuriykuzmin.com: could not connect to host
 yutabon.com: could not connect to host
+yutangyun.com: could not connect to host
 yuushou.com: max-age too low: 0
 yux.io: did not receive HSTS header
 yuyu.io: could not connect to host
 ywei.org: could not connect to host
 yyyy.xyz: could not connect to host
 yzal.io: could not connect to host
 z3liff.com: could not connect to host
 z3liff.net: could not connect to host
 za.search.yahoo.com: did not receive HSTS header
 zachgibbens.org: could not connect to host
 zadieheimlich.com: did not receive HSTS header
 zahe.me: could not connect to host
 zahyantechnologies.com: could not connect to host
 zakoncontrol.com: could not connect to host
-zamis.net: did not receive HSTS header
 zamorano.edu: could not connect to host
 zamos.ru: max-age too low: 0
 zaneweb.org: did not receive HSTS header
 zanthra.com: could not connect to host
 zao.fi: could not connect to host
 zap.yt: could not connect to host
 zarooba.com: could not connect to host
 zary.me: did not receive HSTS header
@@ -6933,17 +6949,16 @@ zelfstandigemakelaars.net: could not con
 zenghx.tk: could not connect to host
 zenpayroll.com: did not receive HSTS header
 zentraler-kreditausschuss.de: did not receive HSTS header
 zentralwolke.de: did not receive HSTS header
 zera.com.au: could not connect to host
 zerekin.net: did not receive HSTS header
 zeroday.sk: did not receive HSTS header
 zerolab.org: could not connect to host
-zeroml.ml: could not connect to host
 zertitude.com: could not connect to host
 zerudi.com: did not receive HSTS header
 zett4.me: could not connect to host
 zeytin.pro: could not connect to host
 zh.search.yahoo.com: did not receive HSTS header
 zh1.li: could not connect to host
 zhangzifan.com: did not receive HSTS header
 zhaojin97.cn: did not receive HSTS header
--- a/security/manager/ssl/nsSTSPreloadList.inc
+++ b/security/manager/ssl/nsSTSPreloadList.inc
@@ -3,17 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /*****************************************************************************/
 /* This is an automatically generated file. If you're not                    */
 /* nsSiteSecurityService.cpp, you shouldn't be #including it.     */
 /*****************************************************************************/
 
 #include <stdint.h>
-const PRTime gPreloadListExpirationTime = INT64_C(1511022268929000);
+const PRTime gPreloadListExpirationTime = INT64_C(1511108095113000);
 
 static const char kSTSHostTable[] = {
   /* "0.me.uk", true */ '0', '.', 'm', 'e', '.', 'u', 'k', '\0',
   /* "007-preisvergleich.de", true */ '0', '0', '7', '-', 'p', 'r', 'e', 'i', 's', 'v', 'e', 'r', 'g', 'l', 'e', 'i', 'c', 'h', '.', 'd', 'e', '\0',
   /* "00f.net", true */ '0', '0', 'f', '.', 'n', 'e', 't', '\0',
   /* "00wbf.com", true */ '0', '0', 'w', 'b', 'f', '.', 'c', 'o', 'm', '\0',
   /* "0100dev.com", true */ '0', '1', '0', '0', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "0100dev.nl", true */ '0', '1', '0', '0', 'd', 'e', 'v', '.', 'n', 'l', '\0',
@@ -429,28 +429,28 @@ static const char kSTSHostTable[] = {
   /* "aboutspice.com", true */ 'a', 'b', 'o', 'u', 't', 's', 'p', 'i', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "abrilect.com", true */ 'a', 'b', 'r', 'i', 'l', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "abseits.org", true */ 'a', 'b', 's', 'e', 'i', 't', 's', '.', 'o', 'r', 'g', '\0',
   /* "absolem.cc", true */ 'a', 'b', 's', 'o', 'l', 'e', 'm', '.', 'c', 'c', '\0',
   /* "absoluterush.net", true */ 'a', 'b', 's', 'o', 'l', 'u', 't', 'e', 'r', 'u', 's', 'h', '.', 'n', 'e', 't', '\0',
   /* "absolutewaterproofingsolutions.com", true */ 'a', 'b', 's', 'o', 'l', 'u', 't', 'e', 'w', 'a', 't', 'e', 'r', 'p', 'r', 'o', 'o', 'f', 'i', 'n', 'g', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "abstraction21.com", true */ 'a', 'b', 's', 't', 'r', 'a', 'c', 't', 'i', 'o', 'n', '2', '1', '.', 'c', 'o', 'm', '\0',
   /* "absynthe-inquisition.fr", true */ 'a', 'b', 's', 'y', 'n', 't', 'h', 'e', '-', 'i', 'n', 'q', 'u', 'i', 's', 'i', 't', 'i', 'o', 'n', '.', 'f', 'r', '\0',
+  /* "abthorpe.org", true */ 'a', 'b', 't', 'h', 'o', 'r', 'p', 'e', '.', 'o', 'r', 'g', '\0',
   /* "abulanov.com", true */ 'a', 'b', 'u', 'l', 'a', 'n', 'o', 'v', '.', 'c', 'o', 'm', '\0',
   /* "abundent.com", true */ 'a', 'b', 'u', 'n', 'd', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "abuse.io", true */ 'a', 'b', 'u', 's', 'e', '.', 'i', 'o', '\0',
   /* "abyssproject.net", true */ 'a', 'b', 'y', 's', 's', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'n', 'e', 't', '\0',
   /* "ac-admin.pl", true */ 'a', 'c', '-', 'a', 'd', 'm', 'i', 'n', '.', 'p', 'l', '\0',
   /* "ac-epmservices.com", true */ 'a', 'c', '-', 'e', 'p', 'm', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "ac-town.com", true */ 'a', 'c', '-', 't', 'o', 'w', 'n', '.', 'c', 'o', 'm', '\0',
   /* "academialowcost.com.br", true */ 'a', 'c', 'a', 'd', 'e', 'm', 'i', 'a', 'l', 'o', 'w', 'c', 'o', 's', 't', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "academytv.com.au", true */ 'a', 'c', 'a', 'd', 'e', 'm', 'y', 't', 'v', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "acaonegocios.com.br", true */ 'a', 'c', 'a', 'o', 'n', 'e', 'g', 'o', 'c', 'i', 'o', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "acara-yoga.de", true */ 'a', 'c', 'a', 'r', 'a', '-', 'y', 'o', 'g', 'a', '.', 'd', 'e', '\0',
-  /* "acbc.ie", true */ 'a', 'c', 'b', 'c', '.', 'i', 'e', '\0',
   /* "acbrussels-used.be", true */ 'a', 'c', 'b', 'r', 'u', 's', 's', 'e', 'l', 's', '-', 'u', 's', 'e', 'd', '.', 'b', 'e', '\0',
   /* "accelerateyourworld.org", true */ 'a', 'c', 'c', 'e', 'l', 'e', 'r', 'a', 't', 'e', 'y', 'o', 'u', 'r', 'w', 'o', 'r', 'l', 'd', '.', 'o', 'r', 'g', '\0',
   /* "accentthailand.com", true */ 'a', 'c', 'c', 'e', 'n', 't', 't', 'h', 'a', 'i', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "accesloges.com", true */ 'a', 'c', 'c', 'e', 's', 'l', 'o', 'g', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "accessauto-occasions.be", true */ 'a', 'c', 'c', 'e', 's', 's', 'a', 'u', 't', 'o', '-', 'o', 'c', 'c', 'a', 's', 'i', 'o', 'n', 's', '.', 'b', 'e', '\0',
   /* "accessmy.net", true */ 'a', 'c', 'c', 'e', 's', 's', 'm', 'y', '.', 'n', 'e', 't', '\0',
   /* "accordiondoor.com", true */ 'a', 'c', 'c', 'o', 'r', 'd', 'i', 'o', 'n', 'd', 'o', 'o', 'r', '.', 'c', 'o', 'm', '\0',
   /* "accounts.firefox.com", true */ 'a', 'c', 'c', 'o', 'u', 'n', 't', 's', '.', 'f', 'i', 'r', 'e', 'f', 'o', 'x', '.', 'c', 'o', 'm', '\0',
@@ -508,16 +508,17 @@ static const char kSTSHostTable[] = {
   /* "ad-notam.it", true */ 'a', 'd', '-', 'n', 'o', 't', 'a', 'm', '.', 'i', 't', '\0',
   /* "ad-notam.pt", true */ 'a', 'd', '-', 'n', 'o', 't', 'a', 'm', '.', 'p', 't', '\0',
   /* "ad-notam.us", true */ 'a', 'd', '-', 'n', 'o', 't', 'a', 'm', '.', 'u', 's', '\0',
   /* "ada.gov", true */ 'a', 'd', 'a', '.', 'g', 'o', 'v', '\0',
   /* "adalis.org", true */ 'a', 'd', 'a', 'l', 'i', 's', '.', 'o', 'r', 'g', '\0',
   /* "adambyers.com", true */ 'a', 'd', 'a', 'm', 'b', 'y', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "adamdixon.co.uk", true */ 'a', 'd', 'a', 'm', 'd', 'i', 'x', 'o', 'n', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "adamek.online", true */ 'a', 'd', 'a', 'm', 'e', 'k', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0',
+  /* "adamgold.net", false */ 'a', 'd', 'a', 'm', 'g', 'o', 'l', 'd', '.', 'n', 'e', 't', '\0',
   /* "adamkaminski.com", true */ 'a', 'd', 'a', 'm', 'k', 'a', 'm', 'i', 'n', 's', 'k', 'i', '.', 'c', 'o', 'm', '\0',
   /* "adamoutler.com", true */ 'a', 'd', 'a', 'm', 'o', 'u', 't', 'l', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "adams.dk", true */ 'a', 'd', 'a', 'm', 's', '.', 'd', 'k', '\0',
   /* "adamstas.com", true */ 'a', 'd', 'a', 'm', 's', 't', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "adamwilcox.org", true */ 'a', 'd', 'a', 'm', 'w', 'i', 'l', 'c', 'o', 'x', '.', 'o', 'r', 'g', '\0',
   /* "adapt-elektronik.com", true */ 'a', 'd', 'a', 'p', 't', '-', 'e', 'l', 'e', 'k', 't', 'r', 'o', 'n', 'i', 'k', '.', 'c', 'o', 'm', '\0',
   /* "adapt.de", true */ 'a', 'd', 'a', 'p', 't', '.', 'd', 'e', '\0',
   /* "adapti.de", true */ 'a', 'd', 'a', 'p', 't', 'i', '.', 'd', 'e', '\0',
@@ -748,17 +749,16 @@ static const char kSTSHostTable[] = {
   /* "akdigitalegesellschaft.de", false */ 'a', 'k', 'd', 'i', 'g', 'i', 't', 'a', 'l', 'e', 'g', 'e', 's', 'e', 'l', 'l', 's', 'c', 'h', 'a', 'f', 't', '.', 'd', 'e', '\0',
   /* "akelius.de", false */ 'a', 'k', 'e', 'l', 'i', 'u', 's', '.', 'd', 'e', '\0',
   /* "akhilindurti.com", false */ 'a', 'k', 'h', 'i', 'l', 'i', 'n', 'd', 'u', 'r', 't', 'i', '.', 'c', 'o', 'm', '\0',
   /* "akhras.at", true */ 'a', 'k', 'h', 'r', 'a', 's', '.', 'a', 't', '\0',
   /* "akihito.com", true */ 'a', 'k', 'i', 'h', 'i', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "akita-boutique.com", true */ 'a', 'k', 'i', 't', 'a', '-', 'b', 'o', 'u', 't', 'i', 'q', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "akita-stream.com", true */ 'a', 'k', 'i', 't', 'a', '-', 's', 't', 'r', 'e', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "akovana.com", true */ 'a', 'k', 'o', 'v', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
-  /* "akoww.de", true */ 'a', 'k', 'o', 'w', 'w', '.', 'd', 'e', '\0',
   /* "akoya.fi", true */ 'a', 'k', 'o', 'y', 'a', '.', 'f', 'i', '\0',
   /* "akpwebdesign.com", true */ 'a', 'k', 'p', 'w', 'e', 'b', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0',
   /* "akr.io", true */ 'a', 'k', 'r', '.', 'i', 'o', '\0',
   /* "akropolis-ravensburg.de", true */ 'a', 'k', 'r', 'o', 'p', 'o', 'l', 'i', 's', '-', 'r', 'a', 'v', 'e', 'n', 's', 'b', 'u', 'r', 'g', '.', 'd', 'e', '\0',
   /* "akselinurmio.fi", true */ 'a', 'k', 's', 'e', 'l', 'i', 'n', 'u', 'r', 'm', 'i', 'o', '.', 'f', 'i', '\0',
   /* "akstudentsfirst.org", true */ 'a', 'k', 's', 't', 'u', 'd', 'e', 'n', 't', 's', 'f', 'i', 'r', 's', 't', '.', 'o', 'r', 'g', '\0',
   /* "aktiv-naturheilmittel.at", true */ 'a', 'k', 't', 'i', 'v', '-', 'n', 'a', 't', 'u', 'r', 'h', 'e', 'i', 'l', 'm', 'i', 't', 't', 'e', 'l', '.', 'a', 't', '\0',
   /* "aktiv-naturheilmittel.ch", true */ 'a', 'k', 't', 'i', 'v', '-', 'n', 'a', 't', 'u', 'r', 'h', 'e', 'i', 'l', 'm', 'i', 't', 't', 'e', 'l', '.', 'c', 'h', '\0',
@@ -770,17 +770,16 @@ static const char kSTSHostTable[] = {
   /* "al-f.net", true */ 'a', 'l', '-', 'f', '.', 'n', 'e', 't', '\0',
   /* "al3xpro.com", true */ 'a', 'l', '3', 'x', 'p', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "aladdinschools.appspot.com", true */ 'a', 'l', 'a', 'd', 'd', 'i', 'n', 's', 'c', 'h', 'o', 'o', 'l', 's', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "alainbaechlerphotography.ch", true */ 'a', 'l', 'a', 'i', 'n', 'b', 'a', 'e', 'c', 'h', 'l', 'e', 'r', 'p', 'h', 'o', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'c', 'h', '\0',
   /* "alainwolf.ch", true */ 'a', 'l', 'a', 'i', 'n', 'w', 'o', 'l', 'f', '.', 'c', 'h', '\0',
   /* "alair.cn", false */ 'a', 'l', 'a', 'i', 'r', '.', 'c', 'n', '\0',
   /* "alamgir.works", true */ 'a', 'l', 'a', 'm', 'g', 'i', 'r', '.', 'w', 'o', 'r', 'k', 's', '\0',
   /* "alaninkenya.org", true */ 'a', 'l', 'a', 'n', 'i', 'n', 'k', 'e', 'n', 'y', 'a', '.', 'o', 'r', 'g', '\0',
-  /* "alaricfavier.eu", true */ 'a', 'l', 'a', 'r', 'i', 'c', 'f', 'a', 'v', 'i', 'e', 'r', '.', 'e', 'u', '\0',
   /* "alasta.info", true */ 'a', 'l', 'a', 's', 't', 'a', '.', 'i', 'n', 'f', 'o', '\0',
   /* "alauda-home.de", true */ 'a', 'l', 'a', 'u', 'd', 'a', '-', 'h', 'o', 'm', 'e', '.', 'd', 'e', '\0',
   /* "alaundeil.xyz", true */ 'a', 'l', 'a', 'u', 'n', 'd', 'e', 'i', 'l', '.', 'x', 'y', 'z', '\0',
   /* "alb-flirt.de", true */ 'a', 'l', 'b', '-', 'f', 'l', 'i', 'r', 't', '.', 'd', 'e', '\0',
   /* "albersdruck.de", true */ 'a', 'l', 'b', 'e', 'r', 's', 'd', 'r', 'u', 'c', 'k', '.', 'd', 'e', '\0',
   /* "albion2.org", true */ 'a', 'l', 'b', 'i', 'o', 'n', '2', '.', 'o', 'r', 'g', '\0',
   /* "alboweb.nl", true */ 'a', 'l', 'b', 'o', 'w', 'e', 'b', '.', 'n', 'l', '\0',
   /* "albuic.tk", true */ 'a', 'l', 'b', 'u', 'i', 'c', '.', 't', 'k', '\0',
@@ -913,17 +912,16 @@ static const char kSTSHostTable[] = {
   /* "alphabrock.cn", true */ 'a', 'l', 'p', 'h', 'a', 'b', 'r', 'o', 'c', 'k', '.', 'c', 'n', '\0',
   /* "alphachat.net", true */ 'a', 'l', 'p', 'h', 'a', 'c', 'h', 'a', 't', '.', 'n', 'e', 't', '\0',
   /* "alphagamers.net", true */ 'a', 'l', 'p', 'h', 'a', 'g', 'a', 'm', 'e', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "alphapengu.in", true */ 'a', 'l', 'p', 'h', 'a', 'p', 'e', 'n', 'g', 'u', '.', 'i', 'n', '\0',
   /* "alpharotary.com", true */ 'a', 'l', 'p', 'h', 'a', 'r', 'o', 't', 'a', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "alphassl.de", true */ 'a', 'l', 'p', 'h', 'a', 's', 's', 'l', '.', 'd', 'e', '\0',
   /* "alphatrash.de", true */ 'a', 'l', 'p', 'h', 'a', 't', 'r', 'a', 's', 'h', '.', 'd', 'e', '\0',
   /* "alpineplanet.com", true */ 'a', 'l', 'p', 'i', 'n', 'e', 'p', 'l', 'a', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0',
-  /* "alrait.com", true */ 'a', 'l', 'r', 'a', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "alspolska.pl", true */ 'a', 'l', 's', 'p', 'o', 'l', 's', 'k', 'a', '.', 'p', 'l', '\0',
   /* "alstroemeria.org", true */ 'a', 'l', 's', 't', 'r', 'o', 'e', 'm', 'e', 'r', 'i', 'a', '.', 'o', 'r', 'g', '\0',
   /* "alt-three.com", true */ 'a', 'l', 't', '-', 't', 'h', 'r', 'e', 'e', '.', 'c', 'o', 'm', '\0',
   /* "alt.org", true */ 'a', 'l', 't', '.', 'o', 'r', 'g', '\0',
   /* "altahrim.net", true */ 'a', 'l', 't', 'a', 'h', 'r', 'i', 'm', '.', 'n', 'e', 't', '\0',
   /* "altaide.com", true */ 'a', 'l', 't', 'a', 'i', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "altailife.ru", true */ 'a', 'l', 't', 'a', 'i', 'l', 'i', 'f', 'e', '.', 'r', 'u', '\0',
   /* "altbinaries.com", true */ 'a', 'l', 't', 'b', 'i', 'n', 'a', 'r', 'i', 'e', 's', '.', 'c', 'o', 'm', '\0',
@@ -1018,17 +1016,16 @@ static const char kSTSHostTable[] = {
   /* "anacruz.es", true */ 'a', 'n', 'a', 'c', 'r', 'u', 'z', '.', 'e', 's', '\0',
   /* "anadoluefessk.org", true */ 'a', 'n', 'a', 'd', 'o', 'l', 'u', 'e', 'f', 'e', 's', 's', 'k', '.', 'o', 'r', 'g', '\0',
   /* "anakros.me", false */ 'a', 'n', 'a', 'k', 'r', 'o', 's', '.', 'm', 'e', '\0',
   /* "analangelsteen.com", true */ 'a', 'n', 'a', 'l', 'a', 'n', 'g', 'e', 'l', 's', 't', 'e', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "analgesia.net", true */ 'a', 'n', 'a', 'l', 'g', 'e', 's', 'i', 'a', '.', 'n', 'e', 't', '\0',
   /* "analpantyhose.org", true */ 'a', 'n', 'a', 'l', 'p', 'a', 'n', 't', 'y', 'h', 'o', 's', 'e', '.', 'o', 'r', 'g', '\0',
   /* "analteengirls.net", true */ 'a', 'n', 'a', 'l', 't', 'e', 'e', 'n', 'g', 'i', 'r', 'l', 's', '.', 'n', 'e', 't', '\0',
   /* "analyticsinmotion.com", true */ 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 's', 'i', 'n', 'm', 'o', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
-  /* "analyticsinmotion.net", true */ 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 's', 'i', 'n', 'm', 'o', 't', 'i', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "analyticum.de", true */ 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 'u', 'm', '.', 'd', 'e', '\0',
   /* "analyticum.eu", true */ 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 'u', 'm', '.', 'e', 'u', '\0',
   /* "analyticum.net", true */ 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 'u', 'm', '.', 'n', 'e', 't', '\0',
   /* "analyzemyfriends.com", true */ 'a', 'n', 'a', 'l', 'y', 'z', 'e', 'm', 'y', 'f', 'r', 'i', 'e', 'n', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "ananke.io", true */ 'a', 'n', 'a', 'n', 'k', 'e', '.', 'i', 'o', '\0',
   /* "anankecosmetics.com", true */ 'a', 'n', 'a', 'n', 'k', 'e', 'c', 'o', 's', 'm', 'e', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "anantshri.info", true */ 'a', 'n', 'a', 'n', 't', 's', 'h', 'r', 'i', '.', 'i', 'n', 'f', 'o', '\0',
   /* "anarchistischegroepnijmegen.nl", false */ 'a', 'n', 'a', 'r', 'c', 'h', 'i', 's', 't', 'i', 's', 'c', 'h', 'e', 'g', 'r', 'o', 'e', 'p', 'n', 'i', 'j', 'm', 'e', 'g', 'e', 'n', '.', 'n', 'l', '\0',
@@ -1058,17 +1055,16 @@ static const char kSTSHostTable[] = {
   /* "andreaseracleous.com", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'e', 'r', 'a', 'c', 'l', 'e', 'o', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "andreasfeusi.ch", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'f', 'e', 'u', 's', 'i', '.', 'c', 'h', '\0',
   /* "andreaskluge.eu", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'k', 'l', 'u', 'g', 'e', '.', 'e', 'u', '\0',
   /* "andreaskrasa.com", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'k', 'r', 'a', 's', 'a', '.', 'c', 'o', 'm', '\0',
   /* "andreasolsson.se", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'o', 'l', 's', 's', 'o', 'n', '.', 's', 'e', '\0',
   /* "andrehansen.de", true */ 'a', 'n', 'd', 'r', 'e', 'h', 'a', 'n', 's', 'e', 'n', '.', 'd', 'e', '\0',
   /* "andrepicard.de", true */ 'a', 'n', 'd', 'r', 'e', 'p', 'i', 'c', 'a', 'r', 'd', '.', 'd', 'e', '\0',
   /* "andrerose.ca", true */ 'a', 'n', 'd', 'r', 'e', 'r', 'o', 's', 'e', '.', 'c', 'a', '\0',
-  /* "andrespaz.com", true */ 'a', 'n', 'd', 'r', 'e', 's', 'p', 'a', 'z', '.', 'c', 'o', 'm', '\0',
   /* "andreundnina.de", true */ 'a', 'n', 'd', 'r', 'e', 'u', 'n', 'd', 'n', 'i', 'n', 'a', '.', 'd', 'e', '\0',
   /* "andrewdaws.tv", true */ 'a', 'n', 'd', 'r', 'e', 'w', 'd', 'a', 'w', 's', '.', 't', 'v', '\0',
   /* "andrewimeson.com", true */ 'a', 'n', 'd', 'r', 'e', 'w', 'i', 'm', 'e', 's', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "andrewin.ru", true */ 'a', 'n', 'd', 'r', 'e', 'w', 'i', 'n', '.', 'r', 'u', '\0',
   /* "andrewrgoss.com", true */ 'a', 'n', 'd', 'r', 'e', 'w', 'r', 'g', 'o', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "andrewsun.com", true */ 'a', 'n', 'd', 'r', 'e', 'w', 's', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "andrewtebert.com", true */ 'a', 'n', 'd', 'r', 'e', 'w', 't', 'e', 'b', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "andrewthelott.net", true */ 'a', 'n', 'd', 'r', 'e', 'w', 't', 'h', 'e', 'l', 'o', 't', 't', '.', 'n', 'e', 't', '\0',
@@ -1703,22 +1699,22 @@ static const char kSTSHostTable[] = {
   /* "aylak.com", true */ 'a', 'y', 'l', 'a', 'k', '.', 'c', 'o', 'm', '\0',
   /* "aymerick.fr", true */ 'a', 'y', 'm', 'e', 'r', 'i', 'c', 'k', '.', 'f', 'r', '\0',
   /* "aymericlagier.com", true */ 'a', 'y', 'm', 'e', 'r', 'i', 'c', 'l', 'a', 'g', 'i', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "ayothemes.com", true */ 'a', 'y', 'o', 't', 'h', 'e', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "ayurveda-mantry.com", true */ 'a', 'y', 'u', 'r', 'v', 'e', 'd', 'a', '-', 'm', 'a', 'n', 't', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "ayurveda101.com", false */ 'a', 'y', 'u', 'r', 'v', 'e', 'd', 'a', '1', '0', '1', '.', 'c', 'o', 'm', '\0',
   /* "azabani.com", true */ 'a', 'z', 'a', 'b', 'a', 'n', 'i', '.', 'c', 'o', 'm', '\0',
   /* "azamra.com", true */ 'a', 'z', 'a', 'm', 'r', 'a', '.', 'c', 'o', 'm', '\0',
+  /* "azazy.net", true */ 'a', 'z', 'a', 'z', 'y', '.', 'n', 'e', 't', '\0',
   /* "azbuki.by", true */ 'a', 'z', 'b', 'u', 'k', 'i', '.', 'b', 'y', '\0',
   /* "azia.info", true */ 'a', 'z', 'i', 'a', '.', 'i', 'n', 'f', 'o', '\0',
   /* "azimut.fr", true */ 'a', 'z', 'i', 'm', 'u', 't', '.', 'f', 'r', '\0',
   /* "azirevpn.com", true */ 'a', 'z', 'i', 'r', 'e', 'v', 'p', 'n', '.', 'c', 'o', 'm', '\0',
   /* "azlk-team.ru", true */ 'a', 'z', 'l', 'k', '-', 't', 'e', 'a', 'm', '.', 'r', 'u', '\0',
-  /* "azort.com", true */ 'a', 'z', 'o', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "azrazalea.net", true */ 'a', 'z', 'r', 'a', 'z', 'a', 'l', 'e', 'a', '.', 'n', 'e', 't', '\0',
   /* "aztrix.me", true */ 'a', 'z', 't', 'r', 'i', 'x', '.', 'm', 'e', '\0',
   /* "azun.pl", true */ 'a', 'z', 'u', 'n', '.', 'p', 'l', '\0',
   /* "azuxul.fr", true */ 'a', 'z', 'u', 'x', 'u', 'l', '.', 'f', 'r', '\0',
   /* "azzag.co.uk", true */ 'a', 'z', 'z', 'a', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "azzorti.com", true */ 'a', 'z', 'z', 'o', 'r', 't', 'i', '.', 'c', 'o', 'm', '\0',
   /* "b-b-law.com", true */ 'b', '-', 'b', '-', 'l', 'a', 'w', '.', 'c', 'o', 'm', '\0',
   /* "b-pi.duckdns.org", true */ 'b', '-', 'p', 'i', '.', 'd', 'u', 'c', 'k', 'd', 'n', 's', '.', 'o', 'r', 'g', '\0',
@@ -1910,16 +1906,17 @@ static const char kSTSHostTable[] = {
   /* "baywatch.io", true */ 'b', 'a', 'y', 'w', 'a', 't', 'c', 'h', '.', 'i', 'o', '\0',
   /* "bazdell.com", false */ 'b', 'a', 'z', 'd', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "bazisszoftver.hu", true */ 'b', 'a', 'z', 'i', 's', 's', 'z', 'o', 'f', 't', 'v', 'e', 'r', '.', 'h', 'u', '\0',
   /* "bazos.at", true */ 'b', 'a', 'z', 'o', 's', '.', 'a', 't', '\0',
   /* "bazos.cz", true */ 'b', 'a', 'z', 'o', 's', '.', 'c', 'z', '\0',
   /* "bazos.sk", true */ 'b', 'a', 'z', 'o', 's', '.', 's', 'k', '\0',
   /* "bazziergraphik.com", true */ 'b', 'a', 'z', 'z', 'i', 'e', 'r', 'g', 'r', 'a', 'p', 'h', 'i', 'k', '.', 'c', 'o', 'm', '\0',
   /* "bb-shiokaze.jp", true */ 'b', 'b', '-', 's', 'h', 'i', 'o', 'k', 'a', 'z', 'e', '.', 'j', 'p', '\0',
+  /* "bbb1991.me", true */ 'b', 'b', 'b', '1', '9', '9', '1', '.', 'm', 'e', '\0',
   /* "bbgeschenke.ch", true */ 'b', 'b', 'g', 'e', 's', 'c', 'h', 'e', 'n', 'k', 'e', '.', 'c', 'h', '\0',
   /* "bbimarketing.com", true */ 'b', 'b', 'i', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "bbkworldwide.jp", true */ 'b', 'b', 'k', 'w', 'o', 'r', 'l', 'd', 'w', 'i', 'd', 'e', '.', 'j', 'p', '\0',
   /* "bblove.me", true */ 'b', 'b', 'l', 'o', 'v', 'e', '.', 'm', 'e', '\0',
   /* "bbnx.net", true */ 'b', 'b', 'n', 'x', '.', 'n', 'e', 't', '\0',
   /* "bbuio.com", true */ 'b', 'b', 'u', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "bbw-wrestling.com", true */ 'b', 'b', 'w', '-', 'w', 'r', 'e', 's', 't', 'l', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "bbw.dating", true */ 'b', 'b', 'w', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
@@ -1986,16 +1983,17 @@ static const char kSTSHostTable[] = {
   /* "beercandle.com", true */ 'b', 'e', 'e', 'r', 'c', 'a', 'n', 'd', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "beergazetteer.com", true */ 'b', 'e', 'e', 'r', 'g', 'a', 'z', 'e', 't', 't', 'e', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "beerians.com", true */ 'b', 'e', 'e', 'r', 'i', 'a', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "beerradar.no", true */ 'b', 'e', 'e', 'r', 'r', 'a', 'd', 'a', 'r', '.', 'n', 'o', '\0',
   /* "beerradar.party", true */ 'b', 'e', 'e', 'r', 'r', 'a', 'd', 'a', 'r', '.', 'p', 'a', 'r', 't', 'y', '\0',
   /* "beersandco.ch", true */ 'b', 'e', 'e', 'r', 's', 'a', 'n', 'd', 'c', 'o', '.', 'c', 'h', '\0',
   /* "beersconf.com", true */ 'b', 'e', 'e', 'r', 's', 'c', 'o', 'n', 'f', '.', 'c', 'o', 'm', '\0',
   /* "beeswax-orgone.com", true */ 'b', 'e', 'e', 's', 'w', 'a', 'x', '-', 'o', 'r', 'g', 'o', 'n', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "beetman.net", true */ 'b', 'e', 'e', 't', 'm', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "beeznest.com", true */ 'b', 'e', 'e', 'z', 'n', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "befoodsafe.gov", true */ 'b', 'e', 'f', 'o', 'o', 'd', 's', 'a', 'f', 'e', '.', 'g', 'o', 'v', '\0',
   /* "beframed.ch", true */ 'b', 'e', 'f', 'r', 'a', 'm', 'e', 'd', '.', 'c', 'h', '\0',
   /* "befundonline.de", true */ 'b', 'e', 'f', 'u', 'n', 'd', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0',
   /* "begabungsfoerderung.info", true */ 'b', 'e', 'g', 'a', 'b', 'u', 'n', 'g', 's', 'f', 'o', 'e', 'r', 'd', 'e', 'r', 'u', 'n', 'g', '.', 'i', 'n', 'f', 'o', '\0',
   /* "begbie.com", true */ 'b', 'e', 'g', 'b', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "beginner.nl", true */ 'b', 'e', 'g', 'i', 'n', 'n', 'e', 'r', '.', 'n', 'l', '\0',
   /* "behoerden-online-dienste.de", true */ 'b', 'e', 'h', 'o', 'e', 'r', 'd', 'e', 'n', '-', 'o', 'n', 'l', 'i', 'n', 'e', '-', 'd', 'i', 'e', 'n', 's', 't', 'e', '.', 'd', 'e', '\0',
@@ -2020,33 +2018,31 @@ static const char kSTSHostTable[] = {
   /* "belgers.com", true */ 'b', 'e', 'l', 'g', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "belgien.guide", true */ 'b', 'e', 'l', 'g', 'i', 'e', 'n', '.', 'g', 'u', 'i', 'd', 'e', '\0',
   /* "belhopro.be", true */ 'b', 'e', 'l', 'h', 'o', 'p', 'r', 'o', '.', 'b', 'e', '\0',
   /* "believablebook.com", false */ 'b', 'e', 'l', 'i', 'e', 'v', 'a', 'b', 'l', 'e', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0',
   /* "belize-firmengruendung.com", true */ 'b', 'e', 'l', 'i', 'z', 'e', '-', 'f', 'i', 'r', 'm', 'e', 'n', 'g', 'r', 'u', 'e', 'n', 'd', 'u', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "belliash.eu.org", true */ 'b', 'e', 'l', 'l', 'i', 'a', 's', 'h', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0',
   /* "belly-button-piercings.com", true */ 'b', 'e', 'l', 'l', 'y', '-', 'b', 'u', 't', 't', 'o', 'n', '-', 'p', 'i', 'e', 'r', 'c', 'i', 'n', 'g', 's', '.', 'c', 'o', 'm', '\0',
   /* "belmontgoessolar.org", true */ 'b', 'e', 'l', 'm', 'o', 'n', 't', 'g', 'o', 'e', 's', 's', 'o', 'l', 'a', 'r', '.', 'o', 'r', 'g', '\0',
-  /* "belmontprom.com", true */ 'b', 'e', 'l', 'm', 'o', 'n', 't', 'p', 'r', 'o', 'm', '.', 'c', 'o', 'm', '\0',
   /* "belt.black", true */ 'b', 'e', 'l', 't', '.', 'b', 'l', 'a', 'c', 'k', '\0',
   /* "belua.com", true */ 'b', 'e', 'l', 'u', 'a', '.', 'c', 'o', 'm', '\0',
   /* "belwederczykow.eu", true */ 'b', 'e', 'l', 'w', 'e', 'd', 'e', 'r', 'c', 'z', 'y', 'k', 'o', 'w', '.', 'e', 'u', '\0',
   /* "bely-mishka.by", true */ 'b', 'e', 'l', 'y', '-', 'm', 'i', 's', 'h', 'k', 'a', '.', 'b', 'y', '\0',
   /* "bemsoft.pl", true */ 'b', 'e', 'm', 's', 'o', 'f', 't', '.', 'p', 'l', '\0',
   /* "ben-energy.com", false */ 'b', 'e', 'n', '-', 'e', 'n', 'e', 'r', 'g', 'y', '.', 'c', 'o', 'm', '\0',
   /* "ben.ninja", true */ 'b', 'e', 'n', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "benabrams.it", true */ 'b', 'e', 'n', 'a', 'b', 'r', 'a', 'm', 's', '.', 'i', 't', '\0',
   /* "benary.org", true */ 'b', 'e', 'n', 'a', 'r', 'y', '.', 'o', 'r', 'g', '\0',
   /* "benbozsa.ca", true */ 'b', 'e', 'n', 'b', 'o', 'z', 's', 'a', '.', 'c', 'a', '\0',
   /* "benchcast.com", true */ 'b', 'e', 'n', 'c', 'h', 'c', 'a', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "benchling.com", true */ 'b', 'e', 'n', 'c', 'h', 'l', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "benchmarkmonument.com", true */ 'b', 'e', 'n', 'c', 'h', 'm', 'a', 'r', 'k', 'm', 'o', 'n', 'u', 'm', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "bencorby.com", true */ 'b', 'e', 'n', 'c', 'o', 'r', 'b', 'y', '.', 'c', 'o', 'm', '\0',
   /* "bendechrai.com", true */ 'b', 'e', 'n', 'd', 'e', 'c', 'h', 'r', 'a', 'i', '.', 'c', 'o', 'm', '\0',
-  /* "bendemaree.com", true */ 'b', 'e', 'n', 'd', 'e', 'm', 'a', 'r', 'e', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bendigoland.com.au", true */ 'b', 'e', 'n', 'd', 'i', 'g', 'o', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "bendingtheending.com", true */ 'b', 'e', 'n', 'd', 'i', 'n', 'g', 't', 'h', 'e', 'e', 'n', 'd', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "bendix.co", true */ 'b', 'e', 'n', 'd', 'i', 'x', '.', 'c', 'o', '\0',
   /* "beneathvt.com", true */ 'b', 'e', 'n', 'e', 'a', 't', 'h', 'v', 't', '.', 'c', 'o', 'm', '\0',
   /* "beneri.se", true */ 'b', 'e', 'n', 'e', 'r', 'i', '.', 's', 'e', '\0',
   /* "benhaney.com", true */ 'b', 'e', 'n', 'h', 'a', 'n', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "benhartmann.de", true */ 'b', 'e', 'n', 'h', 'a', 'r', 't', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0',
   /* "benhavenarchives.org", true */ 'b', 'e', 'n', 'h', 'a', 'v', 'e', 'n', 'a', 'r', 'c', 'h', 'i', 'v', 'e', 's', '.', 'o', 'r', 'g', '\0',
@@ -2895,26 +2891,27 @@ static const char kSTSHostTable[] = {
   /* "business-garden.com", true */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', '-', 'g', 'a', 'r', 'd', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "business.facebook.com", false */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', '.', 'f', 'a', 'c', 'e', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0',
   /* "business.medbank.com.mt", true */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', '.', 'm', 'e', 'd', 'b', 'a', 'n', 'k', '.', 'c', 'o', 'm', '.', 'm', 't', '\0',
   /* "businessadviceperth.com.au", true */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', 'a', 'd', 'v', 'i', 'c', 'e', 'p', 'e', 'r', 't', 'h', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "businessamongus.com", true */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', 'a', 'm', 'o', 'n', 'g', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "businessesdirectory.eu", true */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', 'e', 's', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '.', 'e', 'u', '\0',
   /* "businessfurs.info", true */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', 'f', 'u', 'r', 's', '.', 'i', 'n', 'f', 'o', '\0',
   /* "businesshub.cz", true */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', 'h', 'u', 'b', '.', 'c', 'z', '\0',
+  /* "businessimmigration-eu.com", true */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', 'i', 'm', 'm', 'i', 'g', 'r', 'a', 't', 'i', 'o', 'n', '-', 'e', 'u', '.', 'c', 'o', 'm', '\0',
+  /* "businessimmigration-eu.ru", true */ 'b', 'u', 's', 'i', 'n', 'e', 's', 's', 'i', 'm', 'm', 'i', 'g', 'r', 'a', 't', 'i', 'o', 'n', '-', 'e', 'u', '.', 'r', 'u', '\0',
   /* "bustimes.org.uk", true */ 'b', 'u', 's', 't', 'i', 'm', 'e', 's', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "buxum-communication.ch", true */ 'b', 'u', 'x', 'u', 'm', '-', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 'c', 'a', 't', 'i', 'o', 'n', '.', 'c', 'h', '\0',
   /* "buyerdocs.com", true */ 'b', 'u', 'y', 'e', 'r', 'd', 'o', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "buyinginvestmentproperty.com", true */ 'b', 'u', 'y', 'i', 'n', 'g', 'i', 'n', 'v', 'e', 's', 't', 'm', 'e', 'n', 't', 'p', 'r', 'o', 'p', 'e', 'r', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "buyshoe.org", true */ 'b', 'u', 'y', 's', 'h', 'o', 'e', '.', 'o', 'r', 'g', '\0',
   /* "buytheway.co.za", true */ 'b', 'u', 'y', 't', 'h', 'e', 'w', 'a', 'y', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "buzz.tools", true */ 'b', 'u', 'z', 'z', '.', 't', 'o', 'o', 'l', 's', '\0',
   /* "buzzconcert.com", true */ 'b', 'u', 'z', 'z', 'c', 'o', 'n', 'c', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "buzzconf.io", true */ 'b', 'u', 'z', 'z', 'c', 'o', 'n', 'f', '.', 'i', 'o', '\0',
-  /* "buzzdeck.com", true */ 'b', 'u', 'z', 'z', 'd', 'e', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "buzzprint.it", true */ 'b', 'u', 'z', 'z', 'p', 'r', 'i', 'n', 't', '.', 'i', 't', '\0',
   /* "buzztelco.com.au", true */ 'b', 'u', 'z', 'z', 't', 'e', 'l', 'c', 'o', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "bvalle.com", true */ 'b', 'v', 'a', 'l', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bvexplained.co.uk", true */ 'b', 'v', 'e', 'x', 'p', 'l', 'a', 'i', 'n', 'e', 'd', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "bvionline.eu", true */ 'b', 'v', 'i', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'e', 'u', '\0',
   /* "bw.codes", true */ 'b', 'w', '.', 'c', 'o', 'd', 'e', 's', '\0',
   /* "bwcscorecard.org", true */ 'b', 'w', 'c', 's', 'c', 'o', 'r', 'e', 'c', 'a', 'r', 'd', '.', 'o', 'r', 'g', '\0',
   /* "bwh1.net", true */ 'b', 'w', 'h', '1', '.', 'n', 'e', 't', '\0',
@@ -3074,16 +3071,17 @@ static const char kSTSHostTable[] = {
   /* "candygirl.shop", true */ 'c', 'a', 'n', 'd', 'y', 'g', 'i', 'r', 'l', '.', 's', 'h', 'o', 'p', '\0',
   /* "candyout.com", true */ 'c', 'a', 'n', 'd', 'y', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
   /* "canfly.org", false */ 'c', 'a', 'n', 'f', 'l', 'y', '.', 'o', 'r', 'g', '\0',
   /* "canhazip.com", true */ 'c', 'a', 'n', 'h', 'a', 'z', 'i', 'p', '.', 'c', 'o', 'm', '\0',
   /* "canifis.net", true */ 'c', 'a', 'n', 'i', 'f', 'i', 's', '.', 'n', 'e', 't', '\0',
   /* "canihavesome.coffee", true */ 'c', 'a', 'n', 'i', 'h', 'a', 'v', 'e', 's', 'o', 'm', 'e', '.', 'c', 'o', 'f', 'f', 'e', 'e', '\0',
   /* "canlidoviz.com", true */ 'c', 'a', 'n', 'l', 'i', 'd', 'o', 'v', 'i', 'z', '.', 'c', 'o', 'm', '\0',
   /* "cannabis-marijuana.com", true */ 'c', 'a', 'n', 'n', 'a', 'b', 'i', 's', '-', 'm', 'a', 'r', 'i', 'j', 'u', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
+  /* "cannarobotics.com", true */ 'c', 'a', 'n', 'n', 'a', 'r', 'o', 'b', 'o', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "canoonic.se", true */ 'c', 'a', 'n', 'o', 'o', 'n', 'i', 'c', '.', 's', 'e', '\0',
   /* "cantatio.ch", true */ 'c', 'a', 'n', 't', 'a', 't', 'i', 'o', '.', 'c', 'h', '\0',
   /* "canterberry.cc", true */ 'c', 'a', 'n', 't', 'e', 'r', 'b', 'e', 'r', 'r', 'y', '.', 'c', 'c', '\0',
   /* "cantrack.com", true */ 'c', 'a', 'n', 't', 'r', 'a', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "canva-dev.com", true */ 'c', 'a', 'n', 'v', 'a', '-', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "canva.com", true */ 'c', 'a', 'n', 'v', 'a', '.', 'c', 'o', 'm', '\0',
   /* "canyoupwn.me", true */ 'c', 'a', 'n', 'y', 'o', 'u', 'p', 'w', 'n', '.', 'm', 'e', '\0',
   /* "cao.gov", true */ 'c', 'a', 'o', '.', 'g', 'o', 'v', '\0',
@@ -3183,17 +3181,16 @@ static const char kSTSHostTable[] = {
   /* "cartouche24.eu", true */ 'c', 'a', 'r', 't', 'o', 'u', 'c', 'h', 'e', '2', '4', '.', 'e', 'u', '\0',
   /* "cartucce24.it", true */ 'c', 'a', 'r', 't', 'u', 'c', 'c', 'e', '2', '4', '.', 'i', 't', '\0',
   /* "carusorealestate.com", true */ 'c', 'a', 'r', 'u', 's', 'o', 'r', 'e', 'a', 'l', 'e', 's', 't', 'a', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "casa-due-pur.com", true */ 'c', 'a', 's', 'a', '-', 'd', 'u', 'e', '-', 'p', 'u', 'r', '.', 'c', 'o', 'm', '\0',
   /* "casa-due-pur.de", true */ 'c', 'a', 's', 'a', '-', 'd', 'u', 'e', '-', 'p', 'u', 'r', '.', 'd', 'e', '\0',
   /* "casa-due.com", true */ 'c', 'a', 's', 'a', '-', 'd', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "casa-su.casa", true */ 'c', 'a', 's', 'a', '-', 's', 'u', '.', 'c', 'a', 's', 'a', '\0',
   /* "casbuijs.nl", true */ 'c', 'a', 's', 'b', 'u', 'i', 'j', 's', '.', 'n', 'l', '\0',
-  /* "casburggraaf.com", true */ 'c', 'a', 's', 'b', 'u', 'r', 'g', 'g', 'r', 'a', 'a', 'f', '.', 'c', 'o', 'm', '\0',
   /* "cash-pos.com", true */ 'c', 'a', 's', 'h', '-', 'p', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "cashew3d.com", true */ 'c', 'a', 's', 'h', 'e', 'w', '3', 'd', '.', 'c', 'o', 'm', '\0',
   /* "cashfortulsahouses.com", true */ 'c', 'a', 's', 'h', 'f', 'o', 'r', 't', 'u', 'l', 's', 'a', 'h', 'o', 'u', 's', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "cashless.fr", true */ 'c', 'a', 's', 'h', 'l', 'e', 's', 's', '.', 'f', 'r', '\0',
   /* "cashlink.de", true */ 'c', 'a', 's', 'h', 'l', 'i', 'n', 'k', '.', 'd', 'e', '\0',
   /* "cashplk.com", true */ 'c', 'a', 's', 'h', 'p', 'l', 'k', '.', 'c', 'o', 'm', '\0',
   /* "casinolegal.pt", true */ 'c', 'a', 's', 'i', 'n', 'o', 'l', 'e', 'g', 'a', 'l', '.', 'p', 't', '\0',
   /* "casinolistings.com", true */ 'c', 'a', 's', 'i', 'n', 'o', 'l', 'i', 's', 't', 'i', 'n', 'g', 's', '.', 'c', 'o', 'm', '\0',
@@ -3490,17 +3487,16 @@ static const char kSTSHostTable[] = {
   /* "childno.de", true */ 'c', 'h', 'i', 'l', 'd', 'n', 'o', '.', 'd', 'e', '\0',
   /* "childrendeservebetter.org", true */ 'c', 'h', 'i', 'l', 'd', 'r', 'e', 'n', 'd', 'e', 's', 'e', 'r', 'v', 'e', 'b', 'e', 't', 't', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "childreninadversity.gov", true */ 'c', 'h', 'i', 'l', 'd', 'r', 'e', 'n', 'i', 'n', 'a', 'd', 'v', 'e', 'r', 's', 'i', 't', 'y', '.', 'g', 'o', 'v', '\0',
   /* "chilihosting.eu", true */ 'c', 'h', 'i', 'l', 'i', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'e', 'u', '\0',
   /* "chima.net", true */ 'c', 'h', 'i', 'm', 'a', '.', 'n', 'e', 't', '\0',
   /* "chima.us", true */ 'c', 'h', 'i', 'm', 'a', '.', 'u', 's', '\0',
   /* "chimeratool.com", true */ 'c', 'h', 'i', 'm', 'e', 'r', 'a', 't', 'o', 'o', 'l', '.', 'c', 'o', 'm', '\0',
   /* "chimpanzee.net", true */ 'c', 'h', 'i', 'm', 'p', 'a', 'n', 'z', 'e', 'e', '.', 'n', 'e', 't', '\0',
-  /* "china-line.org", true */ 'c', 'h', 'i', 'n', 'a', '-', 'l', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0',
   /* "chinacdn.org", true */ 'c', 'h', 'i', 'n', 'a', 'c', 'd', 'n', '.', 'o', 'r', 'g', '\0',
   /* "chinaspaceflight.com", true */ 'c', 'h', 'i', 'n', 'a', 's', 'p', 'a', 'c', 'e', 'f', 'l', 'i', 'g', 'h', 't', '.', 'c', 'o', 'm', '\0',
   /* "chint.ai", true */ 'c', 'h', 'i', 'n', 't', '.', 'a', 'i', '\0',
   /* "chinternet.xyz", true */ 'c', 'h', 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', '.', 'x', 'y', 'z', '\0',
   /* "chiphell.com", true */ 'c', 'h', 'i', 'p', 'h', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "chippy.ch", false */ 'c', 'h', 'i', 'p', 'p', 'y', '.', 'c', 'h', '\0',
   /* "chiralsoftware.com", true */ 'c', 'h', 'i', 'r', 'a', 'l', 's', 'o', 'f', 't', 'w', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "chireiden.net", true */ 'c', 'h', 'i', 'r', 'e', 'i', 'd', 'e', 'n', '.', 'n', 'e', 't', '\0',
@@ -3585,16 +3581,17 @@ static const char kSTSHostTable[] = {
   /* "chromiumbugs.appspot.com", true */ 'c', 'h', 'r', 'o', 'm', 'i', 'u', 'm', 'b', 'u', 'g', 's', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "chromiumcodereview.appspot.com", false */ 'c', 'h', 'r', 'o', 'm', 'i', 'u', 'm', 'c', 'o', 'd', 'e', 'r', 'e', 'v', 'i', 'e', 'w', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "chroniclesofgeorge.com", true */ 'c', 'h', 'r', 'o', 'n', 'i', 'c', 'l', 'e', 's', 'o', 'f', 'g', 'e', 'o', 'r', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "chronogram.me", true */ 'c', 'h', 'r', 'o', 'n', 'o', 'g', 'r', 'a', 'm', '.', 'm', 'e', '\0',
   /* "chronoshop.cz", true */ 'c', 'h', 'r', 'o', 'n', 'o', 's', 'h', 'o', 'p', '.', 'c', 'z', '\0',
   /* "chrpaul.de", true */ 'c', 'h', 'r', 'p', 'a', 'u', 'l', '.', 'd', 'e', '\0',
   /* "chrst.ph", true */ 'c', 'h', 'r', 's', 't', '.', 'p', 'h', '\0',
   /* "chsterz.de", true */ 'c', 'h', 's', 't', 'e', 'r', 'z', '.', 'd', 'e', '\0',
+  /* "chua.family", true */ 'c', 'h', 'u', 'a', '.', 'f', 'a', 'm', 'i', 'l', 'y', '\0',
   /* "chuchote-moi.fr", true */ 'c', 'h', 'u', 'c', 'h', 'o', 't', 'e', '-', 'm', 'o', 'i', '.', 'f', 'r', '\0',
   /* "chuckame.fr", true */ 'c', 'h', 'u', 'c', 'k', 'a', 'm', 'e', '.', 'f', 'r', '\0',
   /* "chun.pro", true */ 'c', 'h', 'u', 'n', '.', 'p', 'r', 'o', '\0',
   /* "chunche.net", true */ 'c', 'h', 'u', 'n', 'c', 'h', 'e', '.', 'n', 'e', 't', '\0',
   /* "churchthemes.com", true */ 'c', 'h', 'u', 'r', 'c', 'h', 't', 'h', 'e', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "churchwebcanada.ca", true */ 'c', 'h', 'u', 'r', 'c', 'h', 'w', 'e', 'b', 'c', 'a', 'n', 'a', 'd', 'a', '.', 'c', 'a', '\0',
   /* "churchwebsupport.com", true */ 'c', 'h', 'u', 'r', 'c', 'h', 'w', 'e', 'b', 's', 'u', 'p', 'p', 'o', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "chxdf.net", true */ 'c', 'h', 'x', 'd', 'f', '.', 'n', 'e', 't', '\0',
@@ -3738,17 +3735,16 @@ static const char kSTSHostTable[] = {
   /* "closingholding.com", true */ 'c', 'l', 'o', 's', 'i', 'n', 'g', 'h', 'o', 'l', 'd', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "cloud-crowd.com.au", true */ 'c', 'l', 'o', 'u', 'd', '-', 'c', 'r', 'o', 'w', 'd', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "cloud-surfer.net", true */ 'c', 'l', 'o', 'u', 'd', '-', 's', 'u', 'r', 'f', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "cloud.google.com", true */ 'c', 'l', 'o', 'u', 'd', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cloud.gov", false */ 'c', 'l', 'o', 'u', 'd', '.', 'g', 'o', 'v', '\0',
   /* "cloudapps.digital", true */ 'c', 'l', 'o', 'u', 'd', 'a', 'p', 'p', 's', '.', 'd', 'i', 'g', 'i', 't', 'a', 'l', '\0',
   /* "cloudbased.info", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'a', 's', 'e', 'd', '.', 'i', 'n', 'f', 'o', '\0',
   /* "cloudbasedsite.com", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'a', 's', 'e', 'd', 's', 'i', 't', 'e', '.', 'c', 'o', 'm', '\0',
-  /* "cloudbleed.info", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'l', 'e', 'e', 'd', '.', 'i', 'n', 'f', 'o', '\0',
   /* "cloudbolin.es", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'o', 'l', 'i', 'n', '.', 'e', 's', '\0',
   /* "cloudcaprice.net", true */ 'c', 'l', 'o', 'u', 'd', 'c', 'a', 'p', 'r', 'i', 'c', 'e', '.', 'n', 'e', 't', '\0',
   /* "cloudflareonazure.com", true */ 'c', 'l', 'o', 'u', 'd', 'f', 'l', 'a', 'r', 'e', 'o', 'n', 'a', 'z', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cloudia.org", true */ 'c', 'l', 'o', 'u', 'd', 'i', 'a', '.', 'o', 'r', 'g', '\0',
   /* "cloudily.com", true */ 'c', 'l', 'o', 'u', 'd', 'i', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "cloudmigrator365.com", true */ 'c', 'l', 'o', 'u', 'd', 'm', 'i', 'g', 'r', 'a', 't', 'o', 'r', '3', '6', '5', '.', 'c', 'o', 'm', '\0',
   /* "cloudoptimizedsmb.com", true */ 'c', 'l', 'o', 'u', 'd', 'o', 'p', 't', 'i', 'm', 'i', 'z', 'e', 'd', 's', 'm', 'b', '.', 'c', 'o', 'm', '\0',
   /* "cloudoptimus.com", true */ 'c', 'l', 'o', 'u', 'd', 'o', 'p', 't', 'i', 'm', 'u', 's', '.', 'c', 'o', 'm', '\0',
@@ -3762,17 +3758,16 @@ static const char kSTSHostTable[] = {
   /* "cloudspace-analytics.com", true */ 'c', 'l', 'o', 'u', 'd', 's', 'p', 'a', 'c', 'e', '-', 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "cloudteam.de", true */ 'c', 'l', 'o', 'u', 'd', 't', 'e', 'a', 'm', '.', 'd', 'e', '\0',
   /* "cloudup.com", true */ 'c', 'l', 'o', 'u', 'd', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "cloudwarez.xyz", true */ 'c', 'l', 'o', 'u', 'd', 'w', 'a', 'r', 'e', 'z', '.', 'x', 'y', 'z', '\0',
   /* "clounix.online", true */ 'c', 'l', 'o', 'u', 'n', 'i', 'x', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0',
   /* "clouz.de", true */ 'c', 'l', 'o', 'u', 'z', '.', 'd', 'e', '\0',
   /* "clovissantos.com", true */ 'c', 'l', 'o', 'v', 'i', 's', 's', 'a', 'n', 't', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "clownish.co.il", true */ 'c', 'l', 'o', 'w', 'n', 'i', 's', 'h', '.', 'c', 'o', '.', 'i', 'l', '\0',
-  /* "cloxy.com", true */ 'c', 'l', 'o', 'x', 'y', '.', 'c', 'o', 'm', '\0',
   /* "clr3.com", true */ 'c', 'l', 'r', '3', '.', 'c', 'o', 'm', '\0',
   /* "clsimage.com", true */ 'c', 'l', 's', 'i', 'm', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "clsimplex.com", true */ 'c', 'l', 's', 'i', 'm', 'p', 'l', 'e', 'x', '.', 'c', 'o', 'm', '\0',
   /* "clu-in.org", true */ 'c', 'l', 'u', '-', 'i', 'n', '.', 'o', 'r', 'g', '\0',
   /* "club-is.ru", true */ 'c', 'l', 'u', 'b', '-', 'i', 's', '.', 'r', 'u', '\0',
   /* "clubdeslecteurs.net", true */ 'c', 'l', 'u', 'b', 'd', 'e', 's', 'l', 'e', 'c', 't', 'e', 'u', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "clubempleos.com", true */ 'c', 'l', 'u', 'b', 'e', 'm', 'p', 'l', 'e', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "clubeohara.com", true */ 'c', 'l', 'u', 'b', 'e', 'o', 'h', 'a', 'r', 'a', '.', 'c', 'o', 'm', '\0',
@@ -3846,16 +3841,17 @@ static const char kSTSHostTable[] = {
   /* "codeine.co.uk", true */ 'c', 'o', 'd', 'e', 'i', 'n', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "codeit.guru", true */ 'c', 'o', 'd', 'e', 'i', 't', '.', 'g', 'u', 'r', 'u', '\0',
   /* "codeit.us", true */ 'c', 'o', 'd', 'e', 'i', 't', '.', 'u', 's', '\0',
   /* "codelove.de", true */ 'c', 'o', 'd', 'e', 'l', 'o', 'v', 'e', '.', 'd', 'e', '\0',
   /* "codenode.io", true */ 'c', 'o', 'd', 'e', 'n', 'o', 'd', 'e', '.', 'i', 'o', '\0',
   /* "codeplay.org", true */ 'c', 'o', 'd', 'e', 'p', 'l', 'a', 'y', '.', 'o', 'r', 'g', '\0',
   /* "codepoints.net", true */ 'c', 'o', 'd', 'e', 'p', 'o', 'i', 'n', 't', 's', '.', 'n', 'e', 't', '\0',
   /* "codepref.com", true */ 'c', 'o', 'd', 'e', 'p', 'r', 'e', 'f', '.', 'c', 'o', 'm', '\0',
+  /* "codepult.com", true */ 'c', 'o', 'd', 'e', 'p', 'u', 'l', 't', '.', 'c', 'o', 'm', '\0',
   /* "codera.co.uk", true */ 'c', 'o', 'd', 'e', 'r', 'a', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "codercross.com", true */ 'c', 'o', 'd', 'e', 'r', 'c', 'r', 'o', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "codereview.appspot.com", false */ 'c', 'o', 'd', 'e', 'r', 'e', 'v', 'i', 'e', 'w', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "codereview.chromium.org", false */ 'c', 'o', 'd', 'e', 'r', 'e', 'v', 'i', 'e', 'w', '.', 'c', 'h', 'r', 'o', 'm', 'i', 'u', 'm', '.', 'o', 'r', 'g', '\0',
   /* "coderhangout.com", true */ 'c', 'o', 'd', 'e', 'r', 'h', 'a', 'n', 'g', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
   /* "codesplain.in", true */ 'c', 'o', 'd', 'e', 's', 'p', 'l', 'a', 'i', 'n', '.', 'i', 'n', '\0',
   /* "codesport.io", true */ 'c', 'o', 'd', 'e', 's', 'p', 'o', 'r', 't', '.', 'i', 'o', '\0',
   /* "codestudies.net", true */ 'c', 'o', 'd', 'e', 's', 't', 'u', 'd', 'i', 'e', 's', '.', 'n', 'e', 't', '\0',
@@ -4099,16 +4095,17 @@ static const char kSTSHostTable[] = {
   /* "coredump.gr", true */ 'c', 'o', 'r', 'e', 'd', 'u', 'm', 'p', '.', 'g', 'r', '\0',
   /* "coreinfrastructure.org", true */ 'c', 'o', 'r', 'e', 'i', 'n', 'f', 'r', 'a', 's', 't', 'r', 'u', 'c', 't', 'u', 'r', 'e', '.', 'o', 'r', 'g', '\0',
   /* "coreless-stretchfilm.com", true */ 'c', 'o', 'r', 'e', 'l', 'e', 's', 's', '-', 's', 't', 'r', 'e', 't', 'c', 'h', 'f', 'i', 'l', 'm', '.', 'c', 'o', 'm', '\0',
   /* "corepartners.com.ua", true */ 'c', 'o', 'r', 'e', 'p', 'a', 'r', 't', 'n', 'e', 'r', 's', '.', 'c', 'o', 'm', '.', 'u', 'a', '\0',
   /* "coresolutions.ca", true */ 'c', 'o', 'r', 'e', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '.', 'c', 'a', '\0',
   /* "coreum.ca", true */ 'c', 'o', 'r', 'e', 'u', 'm', '.', 'c', 'a', '\0',
   /* "corex.io", true */ 'c', 'o', 'r', 'e', 'x', '.', 'i', 'o', '\0',
   /* "coreyjmahler.com", true */ 'c', 'o', 'r', 'e', 'y', 'j', 'm', 'a', 'h', 'l', 'e', 'r', '.', 'c', 'o', 'm', '\0',
+  /* "corgi.party", true */ 'c', 'o', 'r', 'g', 'i', '.', 'p', 'a', 'r', 't', 'y', '\0',
   /* "coribi.com", true */ 'c', 'o', 'r', 'i', 'b', 'i', '.', 'c', 'o', 'm', '\0',
   /* "corinnanese.de", true */ 'c', 'o', 'r', 'i', 'n', 'n', 'a', 'n', 'e', 's', 'e', '.', 'd', 'e', '\0',
   /* "corisu.co", true */ 'c', 'o', 'r', 'i', 's', 'u', '.', 'c', 'o', '\0',
   /* "cornercircle.co.uk", true */ 'c', 'o', 'r', 'n', 'e', 'r', 'c', 'i', 'r', 'c', 'l', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "corniche.com", true */ 'c', 'o', 'r', 'n', 'i', 'c', 'h', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cornishcamels.com", true */ 'c', 'o', 'r', 'n', 'i', 's', 'h', 'c', 'a', 'm', 'e', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "cornodo.com", true */ 'c', 'o', 'r', 'n', 'o', 'd', 'o', '.', 'c', 'o', 'm', '\0',
   /* "corona-academy.com", true */ 'c', 'o', 'r', 'o', 'n', 'a', '-', 'a', 'c', 'a', 'd', 'e', 'm', 'y', '.', 'c', 'o', 'm', '\0',
@@ -4195,18 +4192,16 @@ static const char kSTSHostTable[] = {
   /* "craigfrancis.co.uk", true */ 'c', 'r', 'a', 'i', 'g', 'f', 'r', 'a', 'n', 'c', 'i', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "craigrouse.com", true */ 'c', 'r', 'a', 'i', 'g', 'r', 'o', 'u', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "craigwfox.com", true */ 'c', 'r', 'a', 'i', 'g', 'w', 'f', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "cralarm.de", true */ 'c', 'r', 'a', 'l', 'a', 'r', 'm', '.', 'd', 'e', '\0',
   /* "cranesafe.com", true */ 'c', 'r', 'a', 'n', 'e', 's', 'a', 'f', 'e', '.', 'c', 'o', 'm', '\0',
   /* "crapouill.es", true */ 'c', 'r', 'a', 'p', 'o', 'u', 'i', 'l', 'l', '.', 'e', 's', '\0',
   /* "crashsec.com", true */ 'c', 'r', 'a', 's', 'h', 's', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "crawcial.de", true */ 'c', 'r', 'a', 'w', 'c', 'i', 'a', 'l', '.', 'd', 'e', '\0',
-  /* "crazycraftland.de", true */ 'c', 'r', 'a', 'z', 'y', 'c', 'r', 'a', 'f', 't', 'l', 'a', 'n', 'd', '.', 'd', 'e', '\0',
-  /* "crazycraftland.net", true */ 'c', 'r', 'a', 'z', 'y', 'c', 'r', 'a', 'f', 't', 'l', 'a', 'n', 'd', '.', 'n', 'e', 't', '\0',
   /* "crazydomains.ae", true */ 'c', 'r', 'a', 'z', 'y', 'd', 'o', 'm', 'a', 'i', 'n', 's', '.', 'a', 'e', '\0',
   /* "crazydomains.co.nz", true */ 'c', 'r', 'a', 'z', 'y', 'd', 'o', 'm', 'a', 'i', 'n', 's', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "crazydomains.co.uk", true */ 'c', 'r', 'a', 'z', 'y', 'd', 'o', 'm', 'a', 'i', 'n', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "crazydomains.com.au", true */ 'c', 'r', 'a', 'z', 'y', 'd', 'o', 'm', 'a', 'i', 'n', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "crazydomains.in", true */ 'c', 'r', 'a', 'z', 'y', 'd', 'o', 'm', 'a', 'i', 'n', 's', '.', 'i', 'n', '\0',
   /* "crazymeeshu.com", true */ 'c', 'r', 'a', 'z', 'y', 'm', 'e', 'e', 's', 'h', 'u', '.', 'c', 'o', 'm', '\0',
   /* "crazypaul.com", true */ 'c', 'r', 'a', 'z', 'y', 'p', 'a', 'u', 'l', '.', 'c', 'o', 'm', '\0',
   /* "crazyprojects.es", true */ 'c', 'r', 'a', 'z', 'y', 'p', 'r', 'o', 'j', 'e', 'c', 't', 's', '.', 'e', 's', '\0',
@@ -4275,16 +4270,17 @@ static const char kSTSHostTable[] = {
   /* "croquette.net", true */ 'c', 'r', 'o', 'q', 'u', 'e', 't', 't', 'e', '.', 'n', 'e', 't', '\0',
   /* "crosbug.com", true */ 'c', 'r', 'o', 's', 'b', 'u', 'g', '.', 'c', 'o', 'm', '\0',
   /* "cross-view.com", true */ 'c', 'r', 'o', 's', 's', '-', 'v', 'i', 'e', 'w', '.', 'c', 'o', 'm', '\0',
   /* "cross-x.com", true */ 'c', 'r', 'o', 's', 's', '-', 'x', '.', 'c', 'o', 'm', '\0',
   /* "crossborderreturns.com", true */ 'c', 'r', 'o', 's', 's', 'b', 'o', 'r', 'd', 'e', 'r', 'r', 'e', 't', 'u', 'r', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "crossfitblackwater.com", true */ 'c', 'r', 'o', 's', 's', 'f', 'i', 't', 'b', 'l', 'a', 'c', 'k', 'w', 'a', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "crossorig.in", true */ 'c', 'r', 'o', 's', 's', 'o', 'r', 'i', 'g', '.', 'i', 'n', '\0',
   /* "crosssellguide.com", true */ 'c', 'r', 'o', 's', 's', 's', 'e', 'l', 'l', 'g', 'u', 'i', 'd', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "crow.tw", true */ 'c', 'r', 'o', 'w', '.', 't', 'w', '\0',
   /* "crowdsupply.com", true */ 'c', 'r', 'o', 'w', 'd', 's', 'u', 'p', 'p', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "crownruler.com", true */ 'c', 'r', 'o', 'w', 'n', 'r', 'u', 'l', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "croydonapartments.com.au", true */ 'c', 'r', 'o', 'y', 'd', 'o', 'n', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "crrev.com", true */ 'c', 'r', 'r', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "crstat.ru", true */ 'c', 'r', 's', 't', 'a', 't', '.', 'r', 'u', '\0',
   /* "crt.sh", true */ 'c', 'r', 't', '.', 's', 'h', '\0',
   /* "crumbcontrol.com", true */ 'c', 'r', 'u', 'm', 'b', 'c', 'o', 'n', 't', 'r', 'o', 'l', '.', 'c', 'o', 'm', '\0',
   /* "crushroom.com", true */ 'c', 'r', 'u', 's', 'h', 'r', 'o', 'o', 'm', '.', 'c', 'o', 'm', '\0',
@@ -4551,17 +4547,16 @@ static const char kSTSHostTable[] = {
   /* "dango.in", true */ 'd', 'a', 'n', 'g', 'o', '.', 'i', 'n', '\0',
   /* "daniel-baumann.ch", true */ 'd', 'a', 'n', 'i', 'e', 'l', '-', 'b', 'a', 'u', 'm', 'a', 'n', 'n', '.', 'c', 'h', '\0',
   /* "daniel-du.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', '-', 'd', 'u', '.', 'c', 'o', 'm', '\0',
   /* "daniel-kulbe.de", true */ 'd', 'a', 'n', 'i', 'e', 'l', '-', 'k', 'u', 'l', 'b', 'e', '.', 'd', 'e', '\0',
   /* "daniel-ruf.de", true */ 'd', 'a', 'n', 'i', 'e', 'l', '-', 'r', 'u', 'f', '.', 'd', 'e', '\0',
   /* "daniel-seifert.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', '-', 's', 'e', 'i', 'f', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "danielalvarez.net", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'a', 'l', 'v', 'a', 'r', 'e', 'z', '.', 'n', 'e', 't', '\0',
   /* "danielehniss.de", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'e', 'h', 'n', 'i', 's', 's', '.', 'd', 'e', '\0',
-  /* "danielepestilli.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'e', 'p', 'e', 's', 't', 'i', 'l', 'l', 'i', '.', 'c', 'o', 'm', '\0',
   /* "danielhochleitner.de", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'h', 'o', 'c', 'h', 'l', 'e', 'i', 't', 'n', 'e', 'r', '.', 'd', 'e', '\0',
   /* "danieljamesscott.org", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'j', 'a', 'm', 'e', 's', 's', 'c', 'o', 't', 't', '.', 'o', 'r', 'g', '\0',
   /* "danieljireh.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'j', 'i', 'r', 'e', 'h', '.', 'c', 'o', 'm', '\0',
   /* "danielkoster.nl", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'k', 'o', 's', 't', 'e', 'r', '.', 'n', 'l', '\0',
   /* "danielmarquard.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'a', 'r', 'q', 'u', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "danielmoch.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'o', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "danielmostertman.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'o', 's', 't', 'e', 'r', 't', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "danielmostertman.nl", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'o', 's', 't', 'e', 'r', 't', 'm', 'a', 'n', '.', 'n', 'l', '\0',
@@ -4990,17 +4985,16 @@ static const char kSTSHostTable[] = {
   /* "devolution.ws", true */ 'd', 'e', 'v', 'o', 'l', 'u', 't', 'i', 'o', 'n', '.', 'w', 's', '\0',
   /* "devonsawatzky.ca", true */ 'd', 'e', 'v', 'o', 'n', 's', 'a', 'w', 'a', 't', 'z', 'k', 'y', '.', 'c', 'a', '\0',
   /* "devops-survey.com", true */ 'd', 'e', 'v', 'o', 'p', 's', '-', 's', 'u', 'r', 'v', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "devpgsv.com", true */ 'd', 'e', 'v', 'p', 'g', 's', 'v', '.', 'c', 'o', 'm', '\0',
   /* "devpsy.info", true */ 'd', 'e', 'v', 'p', 's', 'y', '.', 'i', 'n', 'f', 'o', '\0',
   /* "devstaff.gr", true */ 'd', 'e', 'v', 's', 't', 'a', 'f', 'f', '.', 'g', 'r', '\0',
   /* "devyn.ca", true */ 'd', 'e', 'v', 'y', 'n', '.', 'c', 'a', '\0',
   /* "devzero.io", true */ 'd', 'e', 'v', 'z', 'e', 'r', 'o', '.', 'i', 'o', '\0',
-  /* "dewalch.net", true */ 'd', 'e', 'w', 'a', 'l', 'c', 'h', '.', 'n', 'e', 't', '\0',
   /* "dewebwerf.nl", true */ 'd', 'e', 'w', 'e', 'b', 'w', 'e', 'r', 'f', '.', 'n', 'l', '\0',
   /* "dexalo.de", true */ 'd', 'e', 'x', 'a', 'l', 'o', '.', 'd', 'e', '\0',
   /* "dezeregio.nl", true */ 'd', 'e', 'z', 'e', 'r', 'e', 'g', 'i', 'o', '.', 'n', 'l', '\0',
   /* "dezintranet.com", true */ 'd', 'e', 'z', 'i', 'n', 't', 'r', 'a', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "dezmembrariromania.ro", true */ 'd', 'e', 'z', 'm', 'e', 'm', 'b', 'r', 'a', 'r', 'i', 'r', 'o', 'm', 'a', 'n', 'i', 'a', '.', 'r', 'o', '\0',
   /* "df1paw.de", true */ 'd', 'f', '1', 'p', 'a', 'w', '.', 'd', 'e', '\0',
   /* "dfctaiwan.org", true */ 'd', 'f', 'c', 't', 'a', 'i', 'w', 'a', 'n', '.', 'o', 'r', 'g', '\0',
   /* "dfekt.no", true */ 'd', 'f', 'e', 'k', 't', '.', 'n', 'o', '\0',
@@ -5115,17 +5109,16 @@ static const char kSTSHostTable[] = {
   /* "digitkon.com", true */ 'd', 'i', 'g', 'i', 't', 'k', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "digminecraft.com", true */ 'd', 'i', 'g', 'm', 'i', 'n', 'e', 'c', 'r', 'a', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "digwp.com", true */ 'd', 'i', 'g', 'w', 'p', '.', 'c', 'o', 'm', '\0',
   /* "dijkmanmuziek.nl", false */ 'd', 'i', 'j', 'k', 'm', 'a', 'n', 'm', 'u', 'z', 'i', 'e', 'k', '.', 'n', 'l', '\0',
   /* "dijkmanvandoorn.nl", true */ 'd', 'i', 'j', 'k', 'm', 'a', 'n', 'v', 'a', 'n', 'd', 'o', 'o', 'r', 'n', '.', 'n', 'l', '\0',
   /* "diju.ch", true */ 'd', 'i', 'j', 'u', '.', 'c', 'h', '\0',
   /* "dilichen.fr", true */ 'd', 'i', 'l', 'i', 'c', 'h', 'e', 'n', '.', 'f', 'r', '\0',
   /* "dillewijnzwapak.nl", true */ 'd', 'i', 'l', 'l', 'e', 'w', 'i', 'j', 'n', 'z', 'w', 'a', 'p', 'a', 'k', '.', 'n', 'l', '\0',
-  /* "dillonkorman.com", true */ 'd', 'i', 'l', 'l', 'o', 'n', 'k', 'o', 'r', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "dimanss47.net", true */ 'd', 'i', 'm', 'a', 'n', 's', 's', '4', '7', '.', 'n', 'e', 't', '\0',
   /* "dime-staging.com", true */ 'd', 'i', 'm', 'e', '-', 's', 't', 'a', 'g', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "dime.io", true */ 'd', 'i', 'm', 'e', '.', 'i', 'o', '\0',
   /* "dimez.ru", true */ 'd', 'i', 'm', 'e', 'z', '.', 'r', 'u', '\0',
   /* "dimonb.com", true */ 'd', 'i', 'm', 'o', 'n', 'b', '.', 'c', 'o', 'm', '\0',
   /* "dineachook.com.au", true */ 'd', 'i', 'n', 'e', 'a', 'c', 'h', 'o', 'o', 'k', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "dinepont.fr", true */ 'd', 'i', 'n', 'e', 'p', 'o', 'n', 't', '.', 'f', 'r', '\0',
   /* "dinge.xyz", true */ 'd', 'i', 'n', 'g', 'e', '.', 'x', 'y', 'z', '\0',
@@ -5320,17 +5313,16 @@ static const char kSTSHostTable[] = {
   /* "dominicpratt.de", false */ 'd', 'o', 'm', 'i', 'n', 'i', 'c', 'p', 'r', 'a', 't', 't', '.', 'd', 'e', '\0',
   /* "dominikkulaga.pl", true */ 'd', 'o', 'm', 'i', 'n', 'i', 'k', 'k', 'u', 'l', 'a', 'g', 'a', '.', 'p', 'l', '\0',
   /* "dominioanimal.com.br", true */ 'd', 'o', 'm', 'i', 'n', 'i', 'o', 'a', 'n', 'i', 'm', 'a', 'l', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "dominoknihy.cz", true */ 'd', 'o', 'm', 'i', 'n', 'o', 'k', 'n', 'i', 'h', 'y', '.', 'c', 'z', '\0',
   /* "dominomatrix.com", true */ 'd', 'o', 'm', 'i', 'n', 'o', 'm', 'a', 't', 'r', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "domodeco.fr", true */ 'd', 'o', 'm', 'o', 'd', 'e', 'c', 'o', '.', 'f', 'r', '\0',
   /* "domodedovo.travel", true */ 'd', 'o', 'm', 'o', 'd', 'e', 'd', 'o', 'v', 'o', '.', 't', 'r', 'a', 'v', 'e', 'l', '\0',
   /* "domprojects.com", true */ 'd', 'o', 'm', 'p', 'r', 'o', 'j', 'e', 'c', 't', 's', '.', 'c', 'o', 'm', '\0',
-  /* "don.yokohama", true */ 'd', 'o', 'n', '.', 'y', 'o', 'k', 'o', 'h', 'a', 'm', 'a', '\0',
   /* "donateaday.net", true */ 'd', 'o', 'n', 'a', 't', 'e', 'a', 'd', 'a', 'y', '.', 'n', 'e', 't', '\0',
   /* "donateway.com", true */ 'd', 'o', 'n', 'a', 't', 'e', 'w', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "donkeytrekkingkefalonia.com", true */ 'd', 'o', 'n', 'k', 'e', 'y', 't', 'r', 'e', 'k', 'k', 'i', 'n', 'g', 'k', 'e', 'f', 'a', 'l', 'o', 'n', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "donner-reuschel.de", true */ 'd', 'o', 'n', 'n', 'e', 'r', '-', 'r', 'e', 'u', 's', 'c', 'h', 'e', 'l', '.', 'd', 'e', '\0',
   /* "donnons.org", false */ 'd', 'o', 'n', 'n', 'o', 'n', 's', '.', 'o', 'r', 'g', '\0',
   /* "donotcall.gov", true */ 'd', 'o', 'n', 'o', 't', 'c', 'a', 'l', 'l', '.', 'g', 'o', 'v', '\0',
   /* "donotlink.it", true */ 'd', 'o', 'n', 'o', 't', 'l', 'i', 'n', 'k', '.', 'i', 't', '\0',
   /* "donotspellitgav.in", true */ 'd', 'o', 'n', 'o', 't', 's', 'p', 'e', 'l', 'l', 'i', 't', 'g', 'a', 'v', '.', 'i', 'n', '\0',
@@ -5493,17 +5485,16 @@ static const char kSTSHostTable[] = {
   /* "drumbe.at", true */ 'd', 'r', 'u', 'm', 'b', 'e', '.', 'a', 't', '\0',
   /* "drummondframing.com", true */ 'd', 'r', 'u', 'm', 'm', 'o', 'n', 'd', 'f', 'r', 'a', 'm', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "drunkscifi.com", true */ 'd', 'r', 'u', 'n', 'k', 's', 'c', 'i', 'f', 'i', '.', 'c', 'o', 'm', '\0',
   /* "drupal-expert.it", true */ 'd', 'r', 'u', 'p', 'a', 'l', '-', 'e', 'x', 'p', 'e', 'r', 't', '.', 'i', 't', '\0',
   /* "drupal.org", true */ 'd', 'r', 'u', 'p', 'a', 'l', '.', 'o', 'r', 'g', '\0',
   /* "drweissbrot.net", true */ 'd', 'r', 'w', 'e', 'i', 's', 's', 'b', 'r', 'o', 't', '.', 'n', 'e', 't', '\0',
   /* "drybasement.com", true */ 'd', 'r', 'y', 'b', 'a', 's', 'e', 'm', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "drycleancoalition.org", true */ 'd', 'r', 'y', 'c', 'l', 'e', 'a', 'n', 'c', 'o', 'a', 'l', 'i', 't', 'i', 'o', 'n', '.', 'o', 'r', 'g', '\0',
-  /* "drycreekapiary.com", true */ 'd', 'r', 'y', 'c', 'r', 'e', 'e', 'k', 'a', 'p', 'i', 'a', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "drycreekphoto.com", true */ 'd', 'r', 'y', 'c', 'r', 'e', 'e', 'k', 'p', 'h', 'o', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "ds67.de", true */ 'd', 's', '6', '7', '.', 'd', 'e', '\0',
   /* "dsbrowser.com", true */ 'd', 's', 'b', 'r', 'o', 'w', 's', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "dsebastien.net", true */ 'd', 's', 'e', 'b', 'a', 's', 't', 'i', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "dsektionen.se", true */ 'd', 's', 'e', 'k', 't', 'i', 'o', 'n', 'e', 'n', '.', 's', 'e', '\0',
   /* "dsm5.com", true */ 'd', 's', 'm', '5', '.', 'c', 'o', 'm', '\0',
   /* "dsol.hu", true */ 'd', 's', 'o', 'l', '.', 'h', 'u', '\0',
   /* "dt27.org", true */ 'd', 't', '2', '7', '.', 'o', 'r', 'g', '\0',
@@ -5545,17 +5536,16 @@ static const char kSTSHostTable[] = {
   /* "duongpho.com", true */ 'd', 'u', 'o', 'n', 'g', 'p', 'h', 'o', '.', 'c', 'o', 'm', '\0',
   /* "dupree.co", true */ 'd', 'u', 'p', 'r', 'e', 'e', '.', 'c', 'o', '\0',
   /* "durangoenergyllc.com", true */ 'd', 'u', 'r', 'a', 'n', 'g', 'o', 'e', 'n', 'e', 'r', 'g', 'y', 'l', 'l', 'c', '.', 'c', 'o', 'm', '\0',
   /* "duria.de", true */ 'd', 'u', 'r', 'i', 'a', '.', 'd', 'e', '\0',
   /* "durys.be", true */ 'd', 'u', 'r', 'y', 's', '.', 'b', 'e', '\0',
   /* "dustri.org", true */ 'd', 'u', 's', 't', 'r', 'i', '.', 'o', 'r', 'g', '\0',
   /* "dustygroove.com", true */ 'd', 'u', 's', 't', 'y', 'g', 'r', 'o', 'o', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dutch1.nl", true */ 'd', 'u', 't', 'c', 'h', '1', '.', 'n', 'l', '\0',
-  /* "dutchessuganda.com", true */ 'd', 'u', 't', 'c', 'h', 'e', 's', 's', 'u', 'g', 'a', 'n', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "dutchrank.nl", true */ 'd', 'u', 't', 'c', 'h', 'r', 'a', 'n', 'k', '.', 'n', 'l', '\0',
   /* "dutchwanderers.nl", true */ 'd', 'u', 't', 'c', 'h', 'w', 'a', 'n', 'd', 'e', 'r', 'e', 'r', 's', '.', 'n', 'l', '\0',
   /* "dutchweballiance.nl", true */ 'd', 'u', 't', 'c', 'h', 'w', 'e', 'b', 'a', 'l', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'n', 'l', '\0',
   /* "dutyfreeonboard.com", true */ 'd', 'u', 't', 'y', 'f', 'r', 'e', 'e', 'o', 'n', 'b', 'o', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "dvbris.co.uk", true */ 'd', 'v', 'b', 'r', 'i', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "dvbris.com", true */ 'd', 'v', 'b', 'r', 'i', 's', '.', 'c', 'o', 'm', '\0',
   /* "dvorupotocnych.sk", true */ 'd', 'v', 'o', 'r', 'u', 'p', 'o', 't', 'o', 'c', 'n', 'y', 'c', 'h', '.', 's', 'k', '\0',
   /* "dvotx.org", true */ 'd', 'v', 'o', 't', 'x', '.', 'o', 'r', 'g', '\0',
@@ -5582,16 +5572,17 @@ static const char kSTSHostTable[] = {
   /* "dynamictostatic.com", true */ 'd', 'y', 'n', 'a', 'm', 'i', 'c', 't', 'o', 's', 't', 'a', 't', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "dynamicyou.co.uk", true */ 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'y', 'o', 'u', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "dynastic.co", true */ 'd', 'y', 'n', 'a', 's', 't', 'i', 'c', '.', 'c', 'o', '\0',
   /* "dynn.be", true */ 'd', 'y', 'n', 'n', '.', 'b', 'e', '\0',
   /* "dynorphin.com", true */ 'd', 'y', 'n', 'o', 'r', 'p', 'h', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "dynorphins.com", true */ 'd', 'y', 'n', 'o', 'r', 'p', 'h', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "dyrenesverden.no", true */ 'd', 'y', 'r', 'e', 'n', 'e', 's', 'v', 'e', 'r', 'd', 'e', 'n', '.', 'n', 'o', '\0',
   /* "dysthymia.com", true */ 'd', 'y', 's', 't', 'h', 'y', 'm', 'i', 'a', '.', 'c', 'o', 'm', '\0',
+  /* "dyz.pw", true */ 'd', 'y', 'z', '.', 'p', 'w', '\0',
   /* "dzeina.ch", true */ 'd', 'z', 'e', 'i', 'n', 'a', '.', 'c', 'h', '\0',
   /* "dziekonski.com", true */ 'd', 'z', 'i', 'e', 'k', 'o', 'n', 's', 'k', 'i', '.', 'c', 'o', 'm', '\0',
   /* "dzndk.com", true */ 'd', 'z', 'n', 'd', 'k', '.', 'c', 'o', 'm', '\0',
   /* "dzndk.net", true */ 'd', 'z', 'n', 'd', 'k', '.', 'n', 'e', 't', '\0',
   /* "dzndk.org", true */ 'd', 'z', 'n', 'd', 'k', '.', 'o', 'r', 'g', '\0',
   /* "dzomo.org", true */ 'd', 'z', 'o', 'm', 'o', '.', 'o', 'r', 'g', '\0',
   /* "e-hon.link", true */ 'e', '-', 'h', 'o', 'n', '.', 'l', 'i', 'n', 'k', '\0',
   /* "e-kontakti.fi", true */ 'e', '-', 'k', 'o', 'n', 't', 'a', 'k', 't', 'i', '.', 'f', 'i', '\0',
@@ -5692,16 +5683,17 @@ static const char kSTSHostTable[] = {
   /* "ecolala.my", true */ 'e', 'c', 'o', 'l', 'a', 'l', 'a', '.', 'm', 'y', '\0',
   /* "ecole-attalens.ch", true */ 'e', 'c', 'o', 'l', 'e', '-', 'a', 't', 't', 'a', 'l', 'e', 'n', 's', '.', 'c', 'h', '\0',
   /* "ecolesrec.ch", true */ 'e', 'c', 'o', 'l', 'e', 's', 'r', 'e', 'c', '.', 'c', 'h', '\0',
   /* "ecology-21.ru", true */ 'e', 'c', 'o', 'l', 'o', 'g', 'y', '-', '2', '1', '.', 'r', 'u', '\0',
   /* "ecompen.co.za", true */ 'e', 'c', 'o', 'm', 'p', 'e', 'n', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "econativa.pt", true */ 'e', 'c', 'o', 'n', 'a', 't', 'i', 'v', 'a', '.', 'p', 't', '\0',
   /* "economy.st", true */ 'e', 'c', 'o', 'n', 'o', 'm', 'y', '.', 's', 't', '\0',
   /* "econsumer.gov", true */ 'e', 'c', 'o', 'n', 's', 'u', 'm', 'e', 'r', '.', 'g', 'o', 'v', '\0',
+  /* "ecorp.cc", true */ 'e', 'c', 'o', 'r', 'p', '.', 'c', 'c', '\0',
   /* "ecos-ev.de", true */ 'e', 'c', 'o', 's', '-', 'e', 'v', '.', 'd', 'e', '\0',
   /* "ecosoftconsult.com", true */ 'e', 'c', 'o', 's', 'o', 'f', 't', 'c', 'o', 'n', 's', 'u', 'l', 't', '.', 'c', 'o', 'm', '\0',
   /* "ecosystem.atlassian.net", true */ 'e', 'c', 'o', 's', 'y', 's', 't', 'e', 'm', '.', 'a', 't', 'l', 'a', 's', 's', 'i', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "ecotruck-pooling.com", true */ 'e', 'c', 'o', 't', 'r', 'u', 'c', 'k', '-', 'p', 'o', 'o', 'l', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "ecrimex.net", true */ 'e', 'c', 'r', 'i', 'm', 'e', 'x', '.', 'n', 'e', 't', '\0',
   /* "ectora.com", true */ 'e', 'c', 't', 'o', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "ecupcafe.com", false */ 'e', 'c', 'u', 'p', 'c', 'a', 'f', 'e', '.', 'c', 'o', 'm', '\0',
   /* "ed.gs", true */ 'e', 'd', '.', 'g', 's', '\0',
@@ -6178,16 +6170,17 @@ static const char kSTSHostTable[] = {
   /* "esseriumani.com", true */ 'e', 's', 's', 'e', 'r', 'i', 'u', 'm', 'a', 'n', 'i', '.', 'c', 'o', 'm', '\0',
   /* "essexcosmeticdentists.co.uk", false */ 'e', 's', 's', 'e', 'x', 'c', 'o', 's', 'm', 'e', 't', 'i', 'c', 'd', 'e', 'n', 't', 'i', 's', 't', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "essite.net", true */ 'e', 's', 's', 'i', 't', 'e', '.', 'n', 'e', 't', '\0',
   /* "essoduke.org", true */ 'e', 's', 's', 'o', 'd', 'u', 'k', 'e', '.', 'o', 'r', 'g', '\0',
   /* "essplusmed.org", true */ 'e', 's', 's', 'p', 'l', 'u', 's', 'm', 'e', 'd', '.', 'o', 'r', 'g', '\0',
   /* "estaciona.guru", true */ 'e', 's', 't', 'a', 'c', 'i', 'o', 'n', 'a', '.', 'g', 'u', 'r', 'u', '\0',
   /* "estaleiro.org", true */ 'e', 's', 't', 'a', 'l', 'e', 'i', 'r', 'o', '.', 'o', 'r', 'g', '\0',
   /* "estan.cn", true */ 'e', 's', 't', 'a', 'n', '.', 'c', 'n', '\0',
+  /* "estateczech-eu.ru", true */ 'e', 's', 't', 'a', 't', 'e', 'c', 'z', 'e', 'c', 'h', '-', 'e', 'u', '.', 'r', 'u', '\0',
   /* "estcequonmetenprodaujourdhui.info", true */ 'e', 's', 't', 'c', 'e', 'q', 'u', 'o', 'n', 'm', 'e', 't', 'e', 'n', 'p', 'r', 'o', 'd', 'a', 'u', 'j', 'o', 'u', 'r', 'd', 'h', 'u', 'i', '.', 'i', 'n', 'f', 'o', '\0',
   /* "esteam.se", true */ 'e', 's', 't', 'e', 'a', 'm', '.', 's', 'e', '\0',
   /* "estoic.net", true */ 'e', 's', 't', 'o', 'i', 'c', '.', 'n', 'e', 't', '\0',
   /* "estonoentraenelexamen.com", true */ 'e', 's', 't', 'o', 'n', 'o', 'e', 'n', 't', 'r', 'a', 'e', 'n', 'e', 'l', 'e', 'x', 'a', 'm', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "estrietoit.com", false */ 'e', 's', 't', 'r', 'i', 'e', 't', 'o', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "etaes.eu", true */ 'e', 't', 'a', 'e', 's', '.', 'e', 'u', '\0',
   /* "etaoinwu.tk", true */ 'e', 't', 'a', 'o', 'i', 'n', 'w', 'u', '.', 't', 'k', '\0',
   /* "etath.com", true */ 'e', 't', 'a', 't', 'h', '.', 'c', 'o', 'm', '\0',
@@ -6491,33 +6484,32 @@ static const char kSTSHostTable[] = {
   /* "fanboi.ch", true */ 'f', 'a', 'n', 'b', 'o', 'i', '.', 'c', 'h', '\0',
   /* "fancy-bridge.com", true */ 'f', 'a', 'n', 'c', 'y', '-', 'b', 'r', 'i', 'd', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fandler.cz", true */ 'f', 'a', 'n', 'd', 'l', 'e', 'r', '.', 'c', 'z', '\0',
   /* "fandomservices.com", true */ 'f', 'a', 'n', 'd', 'o', 'm', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "fanfareunion.ch", true */ 'f', 'a', 'n', 'f', 'a', 'r', 'e', 'u', 'n', 'i', 'o', 'n', '.', 'c', 'h', '\0',
   /* "fanflow.com", true */ 'f', 'a', 'n', 'f', 'l', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "fangs.ink", true */ 'f', 'a', 'n', 'g', 's', '.', 'i', 'n', 'k', '\0',
   /* "fanjoe.be", true */ 'f', 'a', 'n', 'j', 'o', 'e', '.', 'b', 'e', '\0',
-  /* "fant.dk", true */ 'f', 'a', 'n', 't', '.', 'd', 'k', '\0',
+  /* "fant.dk", false */ 'f', 'a', 'n', 't', '.', 'd', 'k', '\0',
   /* "fantasticgardenersmelbourne.com.au", true */ 'f', 'a', 'n', 't', 'a', 's', 't', 'i', 'c', 'g', 'a', 'r', 'd', 'e', 'n', 'e', 'r', 's', 'm', 'e', 'l', 'b', 'o', 'u', 'r', 'n', 'e', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "fantastichandymanmelbourne.com.au", true */ 'f', 'a', 'n', 't', 'a', 's', 't', 'i', 'c', 'h', 'a', 'n', 'd', 'y', 'm', 'a', 'n', 'm', 'e', 'l', 'b', 'o', 'u', 'r', 'n', 'e', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "fantasticpestcontrolmelbourne.com.au", true */ 'f', 'a', 'n', 't', 'a', 's', 't', 'i', 'c', 'p', 'e', 's', 't', 'c', 'o', 'n', 't', 'r', 'o', 'l', 'm', 'e', 'l', 'b', 'o', 'u', 'r', 'n', 'e', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "fantasyspectrum.com", true */ 'f', 'a', 'n', 't', 'a', 's', 'y', 's', 'p', 'e', 'c', 't', 'r', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "fantopia.club", true */ 'f', 'a', 'n', 't', 'o', 'p', 'i', 'a', '.', 'c', 'l', 'u', 'b', '\0',
   /* "fanvoice.com", true */ 'f', 'a', 'n', 'v', 'o', 'i', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fanyue123.tk", true */ 'f', 'a', 'n', 'y', 'u', 'e', '1', '2', '3', '.', 't', 'k', '\0',
   /* "fanz.pro", true */ 'f', 'a', 'n', 'z', '.', 'p', 'r', 'o', '\0',
   /* "fap.no", true */ 'f', 'a', 'p', '.', 'n', 'o', '\0',
   /* "faq.ie", true */ 'f', 'a', 'q', '.', 'i', 'e', '\0',
   /* "faq.lookout.com", false */ 'f', 'a', 'q', '.', 'l', 'o', 'o', 'k', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
   /* "fara.gov", true */ 'f', 'a', 'r', 'a', '.', 'g', 'o', 'v', '\0',
   /* "faretravel.co.uk", true */ 'f', 'a', 'r', 'e', 't', 'r', 'a', 'v', 'e', 'l', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "farfetchos.com", true */ 'f', 'a', 'r', 'f', 'e', 't', 'c', 'h', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "fargtorget.se", true */ 'f', 'a', 'r', 'g', 't', 'o', 'r', 'g', 'e', 't', '.', 's', 'e', '\0',
-  /* "farhadexchange.com", true */ 'f', 'a', 'r', 'h', 'a', 'd', 'e', 'x', 'c', 'h', 'a', 'n', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "farhood.org", true */ 'f', 'a', 'r', 'h', 'o', 'o', 'd', '.', 'o', 'r', 'g', '\0',
   /* "farmacia.pt", true */ 'f', 'a', 'r', 'm', 'a', 'c', 'i', 'a', '.', 'p', 't', '\0',
   /* "farmacialaboratorio.it", true */ 'f', 'a', 'r', 'm', 'a', 'c', 'i', 'a', 'l', 'a', 'b', 'o', 'r', 'a', 't', 'o', 'r', 'i', 'o', '.', 'i', 't', '\0',
   /* "farmer.dating", true */ 'f', 'a', 'r', 'm', 'e', 'r', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "farmkazuto.com", true */ 'f', 'a', 'r', 'm', 'k', 'a', 'z', 'u', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "faroes.net", true */ 'f', 'a', 'r', 'o', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "faroes.org", true */ 'f', 'a', 'r', 'o', 'e', 's', '.', 'o', 'r', 'g', '\0',
   /* "farsil.eu", true */ 'f', 'a', 'r', 's', 'i', 'l', '.', 'e', 'u', '\0',
@@ -6552,16 +6544,17 @@ static const char kSTSHostTable[] = {
   /* "fatox.de", true */ 'f', 'a', 't', 'o', 'x', '.', 'd', 'e', '\0',
   /* "fatzebra.com.au", false */ 'f', 'a', 't', 'z', 'e', 'b', 'r', 'a', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "faucetbox.com", false */ 'f', 'a', 'u', 'c', 'e', 't', 'b', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "favorit.club", true */ 'f', 'a', 'v', 'o', 'r', 'i', 't', '.', 'c', 'l', 'u', 'b', '\0',
   /* "fawong.com", true */ 'f', 'a', 'w', 'o', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "faxreader.net", true */ 'f', 'a', 'x', 'r', 'e', 'a', 'd', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "fbcfairburn.com", true */ 'f', 'b', 'c', 'f', 'a', 'i', 'r', 'b', 'u', 'r', 'n', '.', 'c', 'o', 'm', '\0',
   /* "fbcopy.com", true */ 'f', 'b', 'c', 'o', 'p', 'y', '.', 'c', 'o', 'm', '\0',
+  /* "fbi.pw", true */ 'f', 'b', 'i', '.', 'p', 'w', '\0',
   /* "fbijobs.gov", true */ 'f', 'b', 'i', 'j', 'o', 'b', 's', '.', 'g', 'o', 'v', '\0',
   /* "fca-tools.com", true */ 'f', 'c', 'a', '-', 't', 'o', 'o', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "fcapartsdb.com", true */ 'f', 'c', 'a', 'p', 'a', 'r', 't', 's', 'd', 'b', '.', 'c', 'o', 'm', '\0',
   /* "fcburk.de", true */ 'f', 'c', 'b', 'u', 'r', 'k', '.', 'd', 'e', '\0',
   /* "fckd.net", true */ 'f', 'c', 'k', 'd', '.', 'n', 'e', 't', '\0',
   /* "fcsic.gov", true */ 'f', 'c', 's', 'i', 'c', '.', 'g', 'o', 'v', '\0',
   /* "fdlibre.eu", true */ 'f', 'd', 'l', 'i', 'b', 'r', 'e', '.', 'e', 'u', '\0',
   /* "fdsys.gov", false */ 'f', 'd', 's', 'y', 's', '.', 'g', 'o', 'v', '\0',
@@ -6691,17 +6684,16 @@ static const char kSTSHostTable[] = {
   /* "file-pdf.it", true */ 'f', 'i', 'l', 'e', '-', 'p', 'd', 'f', '.', 'i', 't', '\0',
   /* "filebox.moe", true */ 'f', 'i', 'l', 'e', 'b', 'o', 'x', '.', 'm', 'o', 'e', '\0',
   /* "filedir.com", false */ 'f', 'i', 'l', 'e', 'd', 'i', 'r', '.', 'c', 'o', 'm', '\0',
   /* "fileio.io", true */ 'f', 'i', 'l', 'e', 'i', 'o', '.', 'i', 'o', '\0',
   /* "filesense.com", true */ 'f', 'i', 'l', 'e', 's', 'e', 'n', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "filestar.io", true */ 'f', 'i', 'l', 'e', 's', 't', 'a', 'r', '.', 'i', 'o', '\0',
   /* "filhodohomem.com", true */ 'f', 'i', 'l', 'h', 'o', 'd', 'o', 'h', 'o', 'm', 'e', 'm', '.', 'c', 'o', 'm', '\0',
   /* "filhomes.ph", true */ 'f', 'i', 'l', 'h', 'o', 'm', 'e', 's', '.', 'p', 'h', '\0',
-  /* "filip-prochazka.com", true */ 'f', 'i', 'l', 'i', 'p', '-', 'p', 'r', 'o', 'c', 'h', 'a', 'z', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "filippo.io", true */ 'f', 'i', 'l', 'i', 'p', 'p', 'o', '.', 'i', 'o', '\0',
   /* "fillitupchallenge.eu", true */ 'f', 'i', 'l', 'l', 'i', 't', 'u', 'p', 'c', 'h', 'a', 'l', 'l', 'e', 'n', 'g', 'e', '.', 'e', 'u', '\0',
   /* "fillmysuitca.se", true */ 'f', 'i', 'l', 'l', 'm', 'y', 's', 'u', 'i', 't', 'c', 'a', '.', 's', 'e', '\0',
   /* "fillo.sk", true */ 'f', 'i', 'l', 'l', 'o', '.', 's', 'k', '\0',
   /* "film-tutorial.com", true */ 'f', 'i', 'l', 'm', '-', 't', 'u', 't', 'o', 'r', 'i', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "film.photos", true */ 'f', 'i', 'l', 'm', '.', 'p', 'h', 'o', 't', 'o', 's', '\0',
   /* "filmatiporno.xxx", true */ 'f', 'i', 'l', 'm', 'a', 't', 'i', 'p', 'o', 'r', 'n', 'o', '.', 'x', 'x', 'x', '\0',
   /* "filme-online.eu.com", true */ 'f', 'i', 'l', 'm', 'e', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'e', 'u', '.', 'c', 'o', 'm', '\0',
@@ -6805,16 +6797,17 @@ static const char kSTSHostTable[] = {
   /* "flam.io", true */ 'f', 'l', 'a', 'm', '.', 'i', 'o', '\0',
   /* "flamer-scene.com", false */ 'f', 'l', 'a', 'm', 'e', 'r', '-', 's', 'c', 'e', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "flamingcow.tv", true */ 'f', 'l', 'a', 'm', 'i', 'n', 'g', 'c', 'o', 'w', '.', 't', 'v', '\0',
   /* "flamingkeys.com", true */ 'f', 'l', 'a', 'm', 'i', 'n', 'g', 'k', 'e', 'y', 's', '.', 'c', 'o', 'm', '\0',
   /* "flamingkeys.com.au", true */ 'f', 'l', 'a', 'm', 'i', 'n', 'g', 'k', 'e', 'y', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "flamme-von-anor.de", true */ 'f', 'l', 'a', 'm', 'm', 'e', '-', 'v', 'o', 'n', '-', 'a', 'n', 'o', 'r', '.', 'd', 'e', '\0',
   /* "flana.com", true */ 'f', 'l', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "flaretechnologies.io", true */ 'f', 'l', 'a', 'r', 'e', 't', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'i', 'e', 's', '.', 'i', 'o', '\0',
+  /* "flashback.org", true */ 'f', 'l', 'a', 's', 'h', 'b', 'a', 'c', 'k', '.', 'o', 'r', 'g', '\0',
   /* "flashgot.net", true */ 'f', 'l', 'a', 's', 'h', 'g', 'o', 't', '.', 'n', 'e', 't', '\0',
   /* "flat.io", true */ 'f', 'l', 'a', 't', '.', 'i', 'o', '\0',
   /* "flatbellyreview.com", true */ 'f', 'l', 'a', 't', 'b', 'e', 'l', 'l', 'y', 'r', 'e', 'v', 'i', 'e', 'w', '.', 'c', 'o', 'm', '\0',
   /* "flatpackmates.co.uk", true */ 'f', 'l', 'a', 't', 'p', 'a', 'c', 'k', 'm', 'a', 't', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "flauschig.net", true */ 'f', 'l', 'a', 'u', 's', 'c', 'h', 'i', 'g', '.', 'n', 'e', 't', '\0',
   /* "flavr.be", true */ 'f', 'l', 'a', 'v', 'r', '.', 'b', 'e', '\0',
   /* "flawlesscowboy.xyz", true */ 'f', 'l', 'a', 'w', 'l', 'e', 's', 's', 'c', 'o', 'w', 'b', 'o', 'y', '.', 'x', 'y', 'z', '\0',
   /* "flazznetworks.com", false */ 'f', 'l', 'a', 'z', 'z', 'n', 'e', 't', 'w', 'o', 'r', 'k', 's', '.', 'c', 'o', 'm', '\0',
@@ -7126,17 +7119,16 @@ static const char kSTSHostTable[] = {
   /* "freshmaza.com", true */ 'f', 'r', 'e', 's', 'h', 'm', 'a', 'z', 'a', '.', 'c', 'o', 'm', '\0',
   /* "fretscha.com", true */ 'f', 'r', 'e', 't', 's', 'c', 'h', 'a', '.', 'c', 'o', 'm', '\0',
   /* "fretworksec.com", true */ 'f', 'r', 'e', 't', 'w', 'o', 'r', 'k', 's', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "frickelboxx.de", true */ 'f', 'r', 'i', 'c', 'k', 'e', 'l', 'b', 'o', 'x', 'x', '.', 'd', 'e', '\0',
   /* "frickenate.com", true */ 'f', 'r', 'i', 'c', 'k', 'e', 'n', 'a', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "friedhelm-wolf.de", true */ 'f', 'r', 'i', 'e', 'd', 'h', 'e', 'l', 'm', '-', 'w', 'o', 'l', 'f', '.', 'd', 'e', '\0',
   /* "friedrich-foto-art.de", true */ 'f', 'r', 'i', 'e', 'd', 'r', 'i', 'c', 'h', '-', 'f', 'o', 't', 'o', '-', 'a', 'r', 't', '.', 'd', 'e', '\0',
   /* "friedsamphotography.com", true */ 'f', 'r', 'i', 'e', 'd', 's', 'a', 'm', 'p', 'h', 'o', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'c', 'o', 'm', '\0',
-  /* "friendlysiberia.com", true */ 'f', 'r', 'i', 'e', 'n', 'd', 'l', 'y', 's', 'i', 'b', 'e', 'r', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "friends-of-naz.com", true */ 'f', 'r', 'i', 'e', 'n', 'd', 's', '-', 'o', 'f', '-', 'n', 'a', 'z', '.', 'c', 'o', 'm', '\0',
   /* "friends24.cz", true */ 'f', 'r', 'i', 'e', 'n', 'd', 's', '2', '4', '.', 'c', 'z', '\0',
   /* "friendship-quotes.co.uk", true */ 'f', 'r', 'i', 'e', 'n', 'd', 's', 'h', 'i', 'p', '-', 'q', 'u', 'o', 't', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "friet.org", true */ 'f', 'r', 'i', 'e', 't', '.', 'o', 'r', 'g', '\0',
   /* "frigi.ch", true */ 'f', 'r', 'i', 'g', 'i', '.', 'c', 'h', '\0',
   /* "frigolit.net", true */ 'f', 'r', 'i', 'g', 'o', 'l', 'i', 't', '.', 'n', 'e', 't', '\0',
   /* "frillip.com", true */ 'f', 'r', 'i', 'l', 'l', 'i', 'p', '.', 'c', 'o', 'm', '\0',
   /* "frinkiac.com", true */ 'f', 'r', 'i', 'n', 'k', 'i', 'a', 'c', '.', 'c', 'o', 'm', '\0',
@@ -7334,17 +7326,16 @@ static const char kSTSHostTable[] = {
   /* "gamecollector.be", true */ 'g', 'a', 'm', 'e', 'c', 'o', 'l', 'l', 'e', 'c', 't', 'o', 'r', '.', 'b', 'e', '\0',
   /* "gameconservation.org.uk", true */ 'g', 'a', 'm', 'e', 'c', 'o', 'n', 's', 'e', 'r', 'v', 'a', 't', 'i', 'o', 'n', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "gamedevelopers.pl", true */ 'g', 'a', 'm', 'e', 'd', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r', 's', '.', 'p', 'l', '\0',
   /* "gamegix.com", true */ 'g', 'a', 'm', 'e', 'g', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "gameguardian.net", true */ 'g', 'a', 'm', 'e', 'g', 'u', 'a', 'r', 'd', 'i', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "gameisbest.jp", true */ 'g', 'a', 'm', 'e', 'i', 's', 'b', 'e', 's', 't', '.', 'j', 'p', '\0',
   /* "gameofbay.org", true */ 'g', 'a', 'm', 'e', 'o', 'f', 'b', 'a', 'y', '.', 'o', 'r', 'g', '\0',
   /* "gamepad.com.br", true */ 'g', 'a', 'm', 'e', 'p', 'a', 'd', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
-  /* "gamepader.com", true */ 'g', 'a', 'm', 'e', 'p', 'a', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "gameparagon.info", true */ 'g', 'a', 'm', 'e', 'p', 'a', 'r', 'a', 'g', 'o', 'n', '.', 'i', 'n', 'f', 'o', '\0',
   /* "gamercredo.com", true */ 'g', 'a', 'm', 'e', 'r', 'c', 'r', 'e', 'd', 'o', '.', 'c', 'o', 'm', '\0',
   /* "gamercredo.net", true */ 'g', 'a', 'm', 'e', 'r', 'c', 'r', 'e', 'd', 'o', '.', 'n', 'e', 't', '\0',
   /* "gamestats.gg", true */ 'g', 'a', 'm', 'e', 's', 't', 'a', 't', 's', '.', 'g', 'g', '\0',
   /* "gametium.com", true */ 'g', 'a', 'm', 'e', 't', 'i', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "gametium.es", true */ 'g', 'a', 'm', 'e', 't', 'i', 'u', 'm', '.', 'e', 's', '\0',
   /* "gamhealth.net", true */ 'g', 'a', 'm', 'h', 'e', 'a', 'l', 't', 'h', '.', 'n', 'e', 't', '\0',
   /* "gamingexodus.com", true */ 'g', 'a', 'm', 'i', 'n', 'g', 'e', 'x', 'o', 'd', 'u', 's', '.', 'c', 'o', 'm', '\0',
@@ -7379,17 +7370,16 @@ static const char kSTSHostTable[] = {
   /* "garycarmell.com", true */ 'g', 'a', 'r', 'y', 'c', 'a', 'r', 'm', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "garyjones.co.uk", true */ 'g', 'a', 'r', 'y', 'j', 'o', 'n', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "garystallman.com", true */ 'g', 'a', 'r', 'y', 's', 't', 'a', 'l', 'l', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "garywhittington.com", true */ 'g', 'a', 'r', 'y', 'w', 'h', 'i', 't', 't', 'i', 'n', 'g', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "gasbarkenora.com", true */ 'g', 'a', 's', 'b', 'a', 'r', 'k', 'e', 'n', 'o', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "gasnews.net", true */ 'g', 'a', 's', 'n', 'e', 'w', 's', '.', 'n', 'e', 't', '\0',
   /* "gasser-daniel.ch", false */ 'g', 'a', 's', 's', 'e', 'r', '-', 'd', 'a', 'n', 'i', 'e', 'l', '.', 'c', 'h', '\0',
   /* "gastauftritt.net", true */ 'g', 'a', 's', 't', 'a', 'u', 'f', 't', 'r', 'i', 't', 't', '.', 'n', 'e', 't', '\0',
-  /* "gateaucreation.fr", true */ 'g', 'a', 't', 'e', 'a', 'u', 'c', 'r', 'e', 'a', 't', 'i', 'o', 'n', '.', 'f', 'r', '\0',
   /* "gatemoves.com", true */ 'g', 'a', 't', 'e', 'm', 'o', 'v', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "gateworld.fr", true */ 'g', 'a', 't', 'e', 'w', 'o', 'r', 'l', 'd', '.', 'f', 'r', '\0',
   /* "gatilagata.com.br", true */ 'g', 'a', 't', 'i', 'l', 'a', 'g', 'a', 't', 'a', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "gauche.com", true */ 'g', 'a', 'u', 'c', 'h', 'e', '.', 'c', 'o', 'm', '\0',
   /* "gauthamelango.com", false */ 'g', 'a', 'u', 't', 'h', 'a', 'm', 'e', 'l', 'a', 'n', 'g', 'o', '.', 'c', 'o', 'm', '\0',
   /* "gautvedt.no", true */ 'g', 'a', 'u', 't', 'v', 'e', 'd', 't', '.', 'n', 'o', '\0',
   /* "gavick.com", false */ 'g', 'a', 'v', 'i', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "gay-sissies.com", true */ 'g', 'a', 'y', '-', 's', 'i', 's', 's', 'i', 'e', 's', '.', 'c', 'o', 'm', '\0',
@@ -7577,16 +7567,17 @@ static const char kSTSHostTable[] = {
   /* "ggservers.com", true */ 'g', 'g', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "ggss.cf", true */ 'g', 'g', 's', 's', '.', 'c', 'f', '\0',
   /* "ggx.us", true */ 'g', 'g', 'x', '.', 'u', 's', '\0',
   /* "gha.st", true */ 'g', 'h', 'a', '.', 's', 't', '\0',
   /* "ghcif.de", true */ 'g', 'h', 'c', 'i', 'f', '.', 'd', 'e', '\0',
   /* "gheorghe-sarcov.ga", true */ 'g', 'h', 'e', 'o', 'r', 'g', 'h', 'e', '-', 's', 'a', 'r', 'c', 'o', 'v', '.', 'g', 'a', '\0',
   /* "ghislainphu.fr", true */ 'g', 'h', 'i', 's', 'l', 'a', 'i', 'n', 'p', 'h', 'u', '.', 'f', 'r', '\0',
   /* "ghostblog.info", true */ 'g', 'h', 'o', 's', 't', 'b', 'l', 'o', 'g', '.', 'i', 'n', 'f', 'o', '\0',
+  /* "ghostcir.com", true */ 'g', 'h', 'o', 's', 't', 'c', 'i', 'r', '.', 'c', 'o', 'm', '\0',
   /* "ghostwritershigh.com", true */ 'g', 'h', 'o', 's', 't', 'w', 'r', 'i', 't', 'e', 'r', 's', 'h', 'i', 'g', 'h', '.', 'c', 'o', 'm', '\0',
   /* "ghrelinblocker.info", true */ 'g', 'h', 'r', 'e', 'l', 'i', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'r', '.', 'i', 'n', 'f', 'o', '\0',
   /* "ghrelinblocker.org", true */ 'g', 'h', 'r', 'e', 'l', 'i', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "giacomodrago.com", true */ 'g', 'i', 'a', 'c', 'o', 'm', 'o', 'd', 'r', 'a', 'g', 'o', '.', 'c', 'o', 'm', '\0',
   /* "giacomodrago.it", true */ 'g', 'i', 'a', 'c', 'o', 'm', 'o', 'd', 'r', 'a', 'g', 'o', '.', 'i', 't', '\0',
   /* "giacomopelagatti.it", true */ 'g', 'i', 'a', 'c', 'o', 'm', 'o', 'p', 'e', 'l', 'a', 'g', 'a', 't', 't', 'i', '.', 'i', 't', '\0',
   /* "gianproperties.com", true */ 'g', 'i', 'a', 'n', 'p', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "giant-panda.com", true */ 'g', 'i', 'a', 'n', 't', '-', 'p', 'a', 'n', 'd', 'a', '.', 'c', 'o', 'm', '\0',
@@ -7749,17 +7740,16 @@ static const char kSTSHostTable[] = {
   /* "gomiblog.com", true */ 'g', 'o', 'm', 'i', 'b', 'l', 'o', 'g', '.', 'c', 'o', 'm', '\0',
   /* "gondawa.com", true */ 'g', 'o', 'n', 'd', 'a', 'w', 'a', '.', 'c', 'o', 'm', '\0',
   /* "gongjianwei.com", false */ 'g', 'o', 'n', 'g', 'j', 'i', 'a', 'n', 'w', 'e', 'i', '.', 'c', 'o', 'm', '\0',
   /* "gongjuhao.com", true */ 'g', 'o', 'n', 'g', 'j', 'u', 'h', 'a', 'o', '.', 'c', 'o', 'm', '\0',
   /* "gonkar.com", true */ 'g', 'o', 'n', 'k', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "goo.gl", true */ 'g', 'o', 'o', '.', 'g', 'l', '\0',
   /* "good-tips.pro", true */ 'g', 'o', 'o', 'd', '-', 't', 'i', 'p', 's', '.', 'p', 'r', 'o', '\0',
   /* "goodfurday.ca", true */ 'g', 'o', 'o', 'd', 'f', 'u', 'r', 'd', 'a', 'y', '.', 'c', 'a', '\0',
-  /* "goodmengroup.de", true */ 'g', 'o', 'o', 'd', 'm', 'e', 'n', 'g', 'r', 'o', 'u', 'p', '.', 'd', 'e', '\0',
   /* "google", true */ 'g', 'o', 'o', 'g', 'l', 'e', '\0',
   /* "google-analytics.com", true */ 'g', 'o', 'o', 'g', 'l', 'e', '-', 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "googleandroid.cz", true */ 'g', 'o', 'o', 'g', 'l', 'e', 'a', 'n', 'd', 'r', 'o', 'i', 'd', '.', 'c', 'z', '\0',
   /* "googlemail.com", false */ 'g', 'o', 'o', 'g', 'l', 'e', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "googleplex.com", true */ 'g', 'o', 'o', 'g', 'l', 'e', 'p', 'l', 'e', 'x', '.', 'c', 'o', 'm', '\0',
   /* "googlesource.com", true */ 'g', 'o', 'o', 'g', 'l', 'e', 's', 'o', 'u', 'r', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "googley.fr", true */ 'g', 'o', 'o', 'g', 'l', 'e', 'y', '.', 'f', 'r', '\0',
   /* "goombi.fr", true */ 'g', 'o', 'o', 'm', 'b', 'i', '.', 'f', 'r', '\0',
@@ -7801,16 +7791,17 @@ static const char kSTSHostTable[] = {
   /* "governorhub.com", true */ 'g', 'o', 'v', 'e', 'r', 'n', 'o', 'r', 'h', 'u', 'b', '.', 'c', 'o', 'm', '\0',
   /* "govtrack.us", true */ 'g', 'o', 'v', 't', 'r', 'a', 'c', 'k', '.', 'u', 's', '\0',
   /* "gowe.wang", false */ 'g', 'o', 'w', 'e', '.', 'w', 'a', 'n', 'g', '\0',
   /* "gpcsolutions.fr", true */ 'g', 'p', 'c', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '.', 'f', 'r', '\0',
   /* "gpfclan.de", true */ 'g', 'p', 'f', 'c', 'l', 'a', 'n', '.', 'd', 'e', '\0',
   /* "gplintegratedit.com", true */ 'g', 'p', 'l', 'i', 'n', 't', 'e', 'g', 'r', 'a', 't', 'e', 'd', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "gpo.gov", false */ 'g', 'p', 'o', '.', 'g', 'o', 'v', '\0',
   /* "gprs.uk.com", true */ 'g', 'p', 'r', 's', '.', 'u', 'k', '.', 'c', 'o', 'm', '\0',
+  /* "gps.com.br", true */ 'g', 'p', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "gpsarena.ro", true */ 'g', 'p', 's', 'a', 'r', 'e', 'n', 'a', '.', 'r', 'o', '\0',
   /* "gpsvideocanada.com", true */ 'g', 'p', 's', 'v', 'i', 'd', 'e', 'o', 'c', 'a', 'n', 'a', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "gpws.ovh", true */ 'g', 'p', 'w', 's', '.', 'o', 'v', 'h', '\0',
   /* "gr.search.yahoo.com", false */ 'g', 'r', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "gra2.com", true */ 'g', 'r', 'a', '2', '.', 'c', 'o', 'm', '\0',
   /* "graasp.net", true */ 'g', 'r', 'a', 'a', 's', 'p', '.', 'n', 'e', 't', '\0',
   /* "grace-wan.com", true */ 'g', 'r', 'a', 'c', 'e', '-', 'w', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "gracebaking.com", true */ 'g', 'r', 'a', 'c', 'e', 'b', 'a', 'k', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
@@ -7887,24 +7878,24 @@ static const char kSTSHostTable[] = {
   /* "greensolid.biz", true */ 'g', 'r', 'e', 'e', 'n', 's', 'o', 'l', 'i', 'd', '.', 'b', 'i', 'z', '\0',
   /* "greenteamtwente.nl", true */ 'g', 'r', 'e', 'e', 'n', 't', 'e', 'a', 'm', 't', 'w', 'e', 'n', 't', 'e', '.', 'n', 'l', '\0',
   /* "greenvpn.ltd", true */ 'g', 'r', 'e', 'e', 'n', 'v', 'p', 'n', '.', 'l', 't', 'd', '\0',
   /* "greger.me", true */ 'g', 'r', 'e', 'g', 'e', 'r', '.', 'm', 'e', '\0',
   /* "gregmartyn.com", true */ 'g', 'r', 'e', 'g', 'm', 'a', 'r', 't', 'y', 'n', '.', 'c', 'o', 'm', '\0',
   /* "gregmilton.com", true */ 'g', 'r', 'e', 'g', 'm', 'i', 'l', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "gregmilton.org", true */ 'g', 'r', 'e', 'g', 'm', 'i', 'l', 't', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "gregorians.org", true */ 'g', 'r', 'e', 'g', 'o', 'r', 'i', 'a', 'n', 's', '.', 'o', 'r', 'g', '\0',
+  /* "gregorykelleher.com", true */ 'g', 'r', 'e', 'g', 'o', 'r', 'y', 'k', 'e', 'l', 'l', 'e', 'h', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "gregorywiest.com", true */ 'g', 'r', 'e', 'g', 'o', 'r', 'y', 'w', 'i', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "greiners.net", true */ 'g', 'r', 'e', 'i', 'n', 'e', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "grekland.guide", true */ 'g', 'r', 'e', 'k', 'l', 'a', 'n', 'd', '.', 'g', 'u', 'i', 'd', 'e', '\0',
   /* "grepmaste.rs", true */ 'g', 'r', 'e', 'p', 'm', 'a', 's', 't', 'e', '.', 'r', 's', '\0',
   /* "grepular.com", true */ 'g', 'r', 'e', 'p', 'u', 'l', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "gresak.io", true */ 'g', 'r', 'e', 's', 'a', 'k', '.', 'i', 'o', '\0',
   /* "grettogeek.com", true */ 'g', 'r', 'e', 't', 't', 'o', 'g', 'e', 'e', 'k', '.', 'c', 'o', 'm', '\0',
-  /* "grevesgarten.de", true */ 'g', 'r', 'e', 'v', 'e', 's', 'g', 'a', 'r', 't', 'e', 'n', '.', 'd', 'e', '\0',
   /* "grey.house", true */ 'g', 'r', 'e', 'y', '.', 'h', 'o', 'u', 's', 'e', '\0',
   /* "greybit.net", true */ 'g', 'r', 'e', 'y', 'b', 'i', 't', '.', 'n', 'e', 't', '\0',
   /* "greysky.me", true */ 'g', 'r', 'e', 'y', 's', 'k', 'y', '.', 'm', 'e', '\0',
   /* "greyskymedia.com", true */ 'g', 'r', 'e', 'y', 's', 'k', 'y', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "greysolutions.it", true */ 'g', 'r', 'e', 'y', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '.', 'i', 't', '\0',
   /* "greywizard.com", true */ 'g', 'r', 'e', 'y', 'w', 'i', 'z', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "grh.am", true */ 'g', 'r', 'h', '.', 'a', 'm', '\0',
   /* "grian-bam.at", true */ 'g', 'r', 'i', 'a', 'n', '-', 'b', 'a', 'm', '.', 'a', 't', '\0',
@@ -8089,29 +8080,27 @@ static const char kSTSHostTable[] = {
   /* "hackerstxt.org", true */ 'h', 'a', 'c', 'k', 'e', 'r', 's', 't', 'x', 't', '.', 'o', 'r', 'g', '\0',
   /* "hackgins.com", true */ 'h', 'a', 'c', 'k', 'g', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "hackingdh.com", true */ 'h', 'a', 'c', 'k', 'i', 'n', 'g', 'd', 'h', '.', 'c', 'o', 'm', '\0',
   /* "hackmd.io", true */ 'h', 'a', 'c', 'k', 'm', 'd', '.', 'i', 'o', '\0',
   /* "hacksnack.io", true */ 'h', 'a', 'c', 'k', 's', 'n', 'a', 'c', 'k', '.', 'i', 'o', '\0',
   /* "hackthissite.org", true */ 'h', 'a', 'c', 'k', 't', 'h', 'i', 's', 's', 'i', 't', 'e', '.', 'o', 'r', 'g', '\0',
   /* "hacktivis.me", true */ 'h', 'a', 'c', 'k', 't', 'i', 'v', 'i', 's', '.', 'm', 'e', '\0',
   /* "hackyourfaceoff.com", true */ 'h', 'a', 'c', 'k', 'y', 'o', 'u', 'r', 'f', 'a', 'c', 'e', 'o', 'f', 'f', '.', 'c', 'o', 'm', '\0',
-  /* "hadaf.pro", true */ 'h', 'a', 'd', 'a', 'f', '.', 'p', 'r', 'o', '\0',
   /* "hadleighswimmingclub.co.uk", true */ 'h', 'a', 'd', 'l', 'e', 'i', 'g', 'h', 's', 'w', 'i', 'm', 'm', 'i', 'n', 'g', 'c', 'l', 'u', 'b', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "hadouk.in", true */ 'h', 'a', 'd', 'o', 'u', 'k', '.', 'i', 'n', '\0',
   /* "hadrons.org", true */ 'h', 'a', 'd', 'r', 'o', 'n', 's', '.', 'o', 'r', 'g', '\0',
   /* "haefligermedia.ch", true */ 'h', 'a', 'e', 'f', 'l', 'i', 'g', 'e', 'r', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'h', '\0',
   /* "haehnlein.at", true */ 'h', 'a', 'e', 'h', 'n', 'l', 'e', 'i', 'n', '.', 'a', 't', '\0',
   /* "haens.li", true */ 'h', 'a', 'e', 'n', 's', '.', 'l', 'i', '\0',
   /* "hafniatimes.com", true */ 'h', 'a', 'f', 'n', 'i', 'a', 't', 'i', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "haiboxu.com", true */ 'h', 'a', 'i', 'b', 'o', 'x', 'u', '.', 'c', 'o', 'm', '\0',
   /* "hail2u.net", true */ 'h', 'a', 'i', 'l', '2', 'u', '.', 'n', 'e', 't', '\0',
   /* "hailer.com", true */ 'h', 'a', 'i', 'l', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "haircrazy.com", true */ 'h', 'a', 'i', 'r', 'c', 'r', 'a', 'z', 'y', '.', 'c', 'o', 'm', '\0',
-  /* "hajnzic.at", true */ 'h', 'a', 'j', 'n', 'z', 'i', 'c', '.', 'a', 't', '\0',
   /* "hakase.kr", true */ 'h', 'a', 'k', 'a', 's', 'e', '.', 'k', 'r', '\0',
   /* "hakatabijin-mind.com", true */ 'h', 'a', 'k', 'a', 't', 'a', 'b', 'i', 'j', 'i', 'n', '-', 'm', 'i', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "hake.me", true */ 'h', 'a', 'k', 'e', '.', 'm', 'e', '\0',
   /* "hakugin.me", true */ 'h', 'a', 'k', 'u', 'g', 'i', 'n', '.', 'm', 'e', '\0',
   /* "halacs.hu", true */ 'h', 'a', 'l', 'a', 'c', 's', '.', 'h', 'u', '\0',
   /* "halkyon.net", true */ 'h', 'a', 'l', 'k', 'y', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "hallelujahsoftware.com", true */ 'h', 'a', 'l', 'l', 'e', 'l', 'u', 'j', 'a', 'h', 's', 'o', 'f', 't', 'w', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "hallhuber.com", true */ 'h', 'a', 'l', 'l', 'h', 'u', 'b', 'e', 'r', '.', 'c', 'o', 'm', '\0',
@@ -8337,17 +8326,16 @@ static const char kSTSHostTable[] = {
   /* "heimonen.eu", true */ 'h', 'e', 'i', 'm', 'o', 'n', 'e', 'n', '.', 'e', 'u', '\0',
   /* "heimprofis.de", true */ 'h', 'e', 'i', 'm', 'p', 'r', 'o', 'f', 'i', 's', '.', 'd', 'e', '\0',
   /* "heinpost.nl", false */ 'h', 'e', 'i', 'n', 'p', 'o', 's', 't', '.', 'n', 'l', '\0',
   /* "heisenberg.co", true */ 'h', 'e', 'i', 's', 'e', 'n', 'b', 'e', 'r', 'g', '.', 'c', 'o', '\0',
   /* "heissluft-fritteuse.com", true */ 'h', 'e', 'i', 's', 's', 'l', 'u', 'f', 't', '-', 'f', 'r', 'i', 't', 't', 'e', 'u', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "heitland-it.de", true */ 'h', 'e', 'i', 't', 'l', 'a', 'n', 'd', '-', 'i', 't', '.', 'd', 'e', '\0',
   /* "hejahanif.se", true */ 'h', 'e', 'j', 'a', 'h', 'a', 'n', 'i', 'f', '.', 's', 'e', '\0',
   /* "hejsupport.se", true */ 'h', 'e', 'j', 's', 'u', 'p', 'p', 'o', 'r', 't', '.', 's', 'e', '\0',
-  /* "hekeki.com", true */ 'h', 'e', 'k', 'e', 'k', 'i', '.', 'c', 'o', 'm', '\0',
   /* "helden-spielen.de", true */ 'h', 'e', 'l', 'd', 'e', 'n', '-', 's', 'p', 'i', 'e', 'l', 'e', 'n', '.', 'd', 'e', '\0',
   /* "heldenhalde.de", true */ 'h', 'e', 'l', 'd', 'e', 'n', 'h', 'a', 'l', 'd', 'e', '.', 'd', 'e', '\0',
   /* "hele.cz", true */ 'h', 'e', 'l', 'e', '.', 'c', 'z', '\0',
   /* "helenkellersimulator.org", true */ 'h', 'e', 'l', 'e', 'n', 'k', 'e', 'l', 'l', 'e', 'r', 's', 'i', 'm', 'u', 'l', 'a', 't', 'o', 'r', '.', 'o', 'r', 'g', '\0',
   /* "helgakristoffer.com", true */ 'h', 'e', 'l', 'g', 'a', 'k', 'r', 'i', 's', 't', 'o', 'f', 'f', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "helgakristoffer.wedding", true */ 'h', 'e', 'l', 'g', 'a', 'k', 'r', 'i', 's', 't', 'o', 'f', 'f', 'e', 'r', '.', 'w', 'e', 'd', 'd', 'i', 'n', 'g', '\0',
   /* "helichat.de", true */ 'h', 'e', 'l', 'i', 'c', 'h', 'a', 't', '.', 'd', 'e', '\0',
   /* "helikon.ro", true */ 'h', 'e', 'l', 'i', 'k', 'o', 'n', '.', 'r', 'o', '\0',
@@ -8767,16 +8755,17 @@ static const char kSTSHostTable[] = {
   /* "hund.io", true */ 'h', 'u', 'n', 'd', '.', 'i', 'o', '\0',
   /* "hundeformel.de", true */ 'h', 'u', 'n', 'd', 'e', 'f', 'o', 'r', 'm', 'e', 'l', '.', 'd', 'e', '\0',
   /* "hundter.com", true */ 'h', 'u', 'n', 'd', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "hunger.im", true */ 'h', 'u', 'n', 'g', 'e', 'r', '.', 'i', 'm', '\0',
   /* "hunter.io", true */ 'h', 'u', 'n', 't', 'e', 'r', '.', 'i', 'o', '\0',
   /* "huntingdonlifesciences.com", true */ 'h', 'u', 'n', 't', 'i', 'n', 'g', 'd', 'o', 'n', 'l', 'i', 'f', 'e', 's', 'c', 'i', 'e', 'n', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "huntshomeinspections.com", true */ 'h', 'u', 'n', 't', 's', 'h', 'o', 'm', 'e', 'i', 'n', 's', 'p', 'e', 'c', 't', 'i', 'o', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "huodongweb.com", true */ 'h', 'u', 'o', 'd', 'o', 'n', 'g', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
+  /* "hupp.se", true */ 'h', 'u', 'p', 'p', '.', 's', 'e', '\0',
   /* "hurd.is", true */ 'h', 'u', 'r', 'd', '.', 'i', 's', '\0',
   /* "huren.nl", true */ 'h', 'u', 'r', 'e', 'n', '.', 'n', 'l', '\0',
   /* "huroji.com", true */ 'h', 'u', 'r', 'o', 'j', 'i', '.', 'c', 'o', 'm', '\0',
   /* "husakbau.at", true */ 'h', 'u', 's', 'a', 'k', 'b', 'a', 'u', '.', 'a', 't', '\0',
   /* "hushfile.it", true */ 'h', 'u', 's', 'h', 'f', 'i', 'l', 'e', '.', 'i', 't', '\0',
   /* "husic.net", true */ 'h', 'u', 's', 'i', 'c', '.', 'n', 'e', 't', '\0',
   /* "husky.xyz", true */ 'h', 'u', 's', 'k', 'y', '.', 'x', 'y', 'z', '\0',
   /* "huskyinc.us", true */ 'h', 'u', 's', 'k', 'y', 'i', 'n', 'c', '.', 'u', 's', '\0',
@@ -8873,16 +8862,17 @@ static const char kSTSHostTable[] = {
   /* "icmp2018.org", true */ 'i', 'c', 'm', 'p', '2', '0', '1', '8', '.', 'o', 'r', 'g', '\0',
   /* "icodeconnect.com", true */ 'i', 'c', 'o', 'd', 'e', 'c', 'o', 'n', 'n', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "icodesign.me", false */ 'i', 'c', 'o', 'd', 'e', 's', 'i', 'g', 'n', '.', 'm', 'e', '\0',
   /* "iconomi.net", true */ 'i', 'c', 'o', 'n', 'o', 'm', 'i', '.', 'n', 'e', 't', '\0',
   /* "icpc.pp.ua", true */ 'i', 'c', 'p', 'c', '.', 'p', 'p', '.', 'u', 'a', '\0',
   /* "ict-concept.nl", false */ 'i', 'c', 't', '-', 'c', 'o', 'n', 'c', 'e', 'p', 't', '.', 'n', 'l', '\0',
   /* "ict-radar.com", true */ 'i', 'c', 't', '-', 'r', 'a', 'd', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "ict-radar.nl", true */ 'i', 'c', 't', '-', 'r', 'a', 'd', 'a', 'r', '.', 'n', 'l', '\0',
+  /* "ictinforensics.org", true */ 'i', 'c', 't', 'i', 'n', 'f', 'o', 'r', 'e', 'n', 's', 'i', 'c', 's', '.', 'o', 'r', 'g', '\0',
   /* "ictpro.info", true */ 'i', 'c', 't', 'p', 'r', 'o', '.', 'i', 'n', 'f', 'o', '\0',
   /* "ictradar.com", true */ 'i', 'c', 't', 'r', 'a', 'd', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "icusignature.com", true */ 'i', 'c', 'u', 's', 'i', 'g', 'n', 'a', 't', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "icymint.me", true */ 'i', 'c', 'y', 'm', 'i', 'n', 't', '.', 'm', 'e', '\0',
   /* "id-blog.ch", true */ 'i', 'd', '-', 'b', 'l', 'o', 'g', '.', 'c', 'h', '\0',
   /* "id.atlassian.com", true */ 'i', 'd', '.', 'a', 't', 'l', 'a', 's', 's', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "id.fedoraproject.org", false */ 'i', 'd', '.', 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "id.mayfirst.org", false */ 'i', 'd', '.', 'm', 'a', 'y', 'f', 'i', 'r', 's', 't', '.', 'o', 'r', 'g', '\0',
@@ -8986,17 +8976,16 @@ static const char kSTSHostTable[] = {
   /* "ilamparas.co.uk", true */ 'i', 'l', 'a', 'm', 'p', 'a', 'r', 'a', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "ilamparas.com", true */ 'i', 'l', 'a', 'm', 'p', 'a', 'r', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "ilamparas.com.ve", true */ 'i', 'l', 'a', 'm', 'p', 'a', 'r', 'a', 's', '.', 'c', 'o', 'm', '.', 'v', 'e', '\0',
   /* "ilard.fr", true */ 'i', 'l', 'a', 'r', 'd', '.', 'f', 'r', '\0',
   /* "ilazycat.com", true */ 'i', 'l', 'a', 'z', 'y', 'c', 'a', 't', '.', 'c', 'o', 'm', '\0',
   /* "ile-kalorii.pl", true */ 'i', 'l', 'e', '-', 'k', 'a', 'l', 'o', 'r', 'i', 'i', '.', 'p', 'l', '\0',
   /* "ilhansubasi.com", true */ 'i', 'l', 'h', 'a', 'n', 's', 'u', 'b', 'a', 's', 'i', '.', 'c', 'o', 'm', '\0',
   /* "illambias.ch", true */ 'i', 'l', 'l', 'a', 'm', 'b', 'i', 'a', 's', '.', 'c', 'h', '\0',
-  /* "illegalpornography.me", true */ 'i', 'l', 'l', 'e', 'g', 'a', 'l', 'p', 'o', 'r', 'n', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'm', 'e', '\0',
   /* "illich.cz", true */ 'i', 'l', 'l', 'i', 'c', 'h', '.', 'c', 'z', '\0',
   /* "illicitart.ca", true */ 'i', 'l', 'l', 'i', 'c', 'i', 't', 'a', 'r', 't', '.', 'c', 'a', '\0',
   /* "illjinx.info", true */ 'i', 'l', 'l', 'j', 'i', 'n', 'x', '.', 'i', 'n', 'f', 'o', '\0',
   /* "illorenese.fr", true */ 'i', 'l', 'l', 'o', 'r', 'e', 'n', 'e', 's', 'e', '.', 'f', 'r', '\0',
   /* "illuminationis.com", true */ 'i', 'l', 'l', 'u', 'm', 'i', 'n', 'a', 't', 'i', 'o', 'n', 'i', 's', '.', 'c', 'o', 'm', '\0',
   /* "ilmiobusinessonline.it", true */ 'i', 'l', 'm', 'i', 'o', 'b', 'u', 's', 'i', 'n', 'e', 's', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'i', 't', '\0',
   /* "ilprof.com", true */ 'i', 'l', 'p', 'r', 'o', 'f', '.', 'c', 'o', 'm', '\0',
   /* "ilrg.com", true */ 'i', 'l', 'r', 'g', '.', 'c', 'o', 'm', '\0',
@@ -9211,16 +9200,17 @@ static const char kSTSHostTable[] = {
   /* "instics.com", true */ 'i', 'n', 's', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "instinctive.io", true */ 'i', 'n', 's', 't', 'i', 'n', 'c', 't', 'i', 'v', 'e', '.', 'i', 'o', '\0',
   /* "institut-confucius-montpellier.org", true */ 'i', 'n', 's', 't', 'i', 't', 'u', 't', '-', 'c', 'o', 'n', 'f', 'u', 'c', 'i', 'u', 's', '-', 'm', 'o', 'n', 't', 'p', 'e', 'l', 'l', 'i', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "institutolancaster.com", true */ 'i', 'n', 's', 't', 'i', 't', 'u', 't', 'o', 'l', 'a', 'n', 'c', 'a', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "institutulcultural.ro", true */ 'i', 'n', 's', 't', 'i', 't', 'u', 't', 'u', 'l', 'c', 'u', 'l', 't', 'u', 'r', 'a', 'l', '.', 'r', 'o', '\0',
   /* "insurance321.com", true */ 'i', 'n', 's', 'u', 'r', 'a', 'n', 'c', 'e', '3', '2', '1', '.', 'c', 'o', 'm', '\0',
   /* "int-ma.in", true */ 'i', 'n', 't', '-', 'm', 'a', '.', 'i', 'n', '\0',
   /* "intafe.co.jp", true */ 'i', 'n', 't', 'a', 'f', 'e', '.', 'c', 'o', '.', 'j', 'p', '\0',
+  /* "integraelchen.de", true */ 'i', 'n', 't', 'e', 'g', 'r', 'a', 'e', 'l', 'c', 'h', 'e', 'n', '.', 'd', 'e', '\0',
   /* "integralblue.com", true */ 'i', 'n', 't', 'e', 'g', 'r', 'a', 'l', 'b', 'l', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "integralkk.com", true */ 'i', 'n', 't', 'e', 'g', 'r', 'a', 'l', 'k', 'k', '.', 'c', 'o', 'm', '\0',
   /* "integrationinc.com", false */ 'i', 'n', 't', 'e', 'g', 'r', 'a', 't', 'i', 'o', 'n', 'i', 'n', 'c', '.', 'c', 'o', 'm', '\0',
   /* "integraxor.com.tw", true */ 'i', 'n', 't', 'e', 'g', 'r', 'a', 'x', 'o', 'r', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
   /* "integrity.gov", true */ 'i', 'n', 't', 'e', 'g', 'r', 'i', 't', 'y', '.', 'g', 'o', 'v', '\0',
   /* "integrityingovernmentidaho.com", true */ 'i', 'n', 't', 'e', 'g', 'r', 'i', 't', 'y', 'i', 'n', 'g', 'o', 'v', 'e', 'r', 'n', 'm', 'e', 'n', 't', 'i', 'd', 'a', 'h', 'o', '.', 'c', 'o', 'm', '\0',
   /* "integrogroup.com", true */ 'i', 'n', 't', 'e', 'g', 'r', 'o', 'g', 'r', 'o', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "integromat.com", true */ 'i', 'n', 't', 'e', 'g', 'r', 'o', 'm', 'a', 't', '.', 'c', 'o', 'm', '\0',
@@ -9254,17 +9244,16 @@ static const char kSTSHostTable[] = {
   /* "internetbugbounty.org", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'b', 'u', 'g', 'b', 'o', 'u', 'n', 't', 'y', '.', 'o', 'r', 'g', '\0',
   /* "internetcom.jp", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'c', 'o', 'm', '.', 'j', 'p', '\0',
   /* "internetdentalalliance.com", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'd', 'e', 'n', 't', 'a', 'l', 'a', 'l', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "internethealthreport.org", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'h', 'e', 'a', 'l', 't', 'h', 'r', 'e', 'p', 'o', 'r', 't', '.', 'o', 'r', 'g', '\0',
   /* "internethering.de", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'h', 'e', 'r', 'i', 'n', 'g', '.', 'd', 'e', '\0',
   /* "internetofdon.gs", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'o', 'f', 'd', 'o', 'n', '.', 'g', 's', '\0',
   /* "internetoffensive.fail", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'o', 'f', 'f', 'e', 'n', 's', 'i', 'v', 'e', '.', 'f', 'a', 'i', 'l', '\0',
   /* "internetovehazardnihry.cz", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'o', 'v', 'e', 'h', 'a', 'z', 'a', 'r', 'd', 'n', 'i', 'h', 'r', 'y', '.', 'c', 'z', '\0',
-  /* "internetpro.me", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'p', 'r', 'o', '.', 'm', 'e', '\0',
   /* "internetstaff.com", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 's', 't', 'a', 'f', 'f', '.', 'c', 'o', 'm', '\0',
   /* "internetzentrale.net", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'z', 'e', 'n', 't', 'r', 'a', 'l', 'e', '.', 'n', 'e', 't', '\0',
   /* "internshipandwork.com", true */ 'i', 'n', 't', 'e', 'r', 'n', 's', 'h', 'i', 'p', 'a', 'n', 'd', 'w', 'o', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "internshipandwork.ru", true */ 'i', 'n', 't', 'e', 'r', 'n', 's', 'h', 'i', 'p', 'a', 'n', 'd', 'w', 'o', 'r', 'k', '.', 'r', 'u', '\0',
   /* "interociter-enterprises.com", true */ 'i', 'n', 't', 'e', 'r', 'o', 'c', 'i', 't', 'e', 'r', '-', 'e', 'n', 't', 'e', 'r', 'p', 'r', 'i', 's', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "interracial.dating", true */ 'i', 'n', 't', 'e', 'r', 'r', 'a', 'c', 'i', 'a', 'l', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "intersectraven.net", true */ 'i', 'n', 't', 'e', 'r', 's', 'e', 'c', 't', 'r', 'a', 'v', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "interseller.io", true */ 'i', 'n', 't', 'e', 'r', 's', 'e', 'l', 'l', 'e', 'r', '.', 'i', 'o', '\0',
@@ -9316,32 +9305,31 @@ static const char kSTSHostTable[] = {
   /* "ionc.ca", true */ 'i', 'o', 'n', 'c', '.', 'c', 'a', '\0',
   /* "ionlabs.kr", true */ 'i', 'o', 'n', 'l', 'a', 'b', 's', '.', 'k', 'r', '\0',
   /* "ioover.net", true */ 'i', 'o', 'o', 'v', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "iossifovlab.com", true */ 'i', 'o', 's', 's', 'i', 'f', 'o', 'v', 'l', 'a', 'b', '.', 'c', 'o', 'm', '\0',
   /* "iostream.by", true */ 'i', 'o', 's', 't', 'r', 'e', 'a', 'm', '.', 'b', 'y', '\0',
   /* "ip-life.net", true */ 'i', 'p', '-', 'l', 'i', 'f', 'e', '.', 'n', 'e', 't', '\0',
   /* "ip.or.at", true */ 'i', 'p', '.', 'o', 'r', '.', 'a', 't', '\0',
   /* "ip2country.info", true */ 'i', 'p', '2', 'c', 'o', 'u', 'n', 't', 'r', 'y', '.', 'i', 'n', 'f', 'o', '\0',
-  /* "ip6.li", false */ 'i', 'p', '6', '.', 'l', 'i', '\0',
+  /* "ip6.li", true */ 'i', 'p', '6', '.', 'l', 'i', '\0',
   /* "ipal.im", true */ 'i', 'p', 'a', 'l', '.', 'i', 'm', '\0',
   /* "ipal.name", true */ 'i', 'p', 'a', 'l', '.', 'n', 'a', 'm', 'e', '\0',
   /* "ipal.pl", true */ 'i', 'p', 'a', 'l', '.', 'p', 'l', '\0',
   /* "ipawind.com", true */ 'i', 'p', 'a', 'w', 'i', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "ipcareers.net", true */ 'i', 'p', 'c', 'a', 'r', 'e', 'e', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "ipcfg.me", true */ 'i', 'p', 'c', 'f', 'g', '.', 'm', 'e', '\0',
   /* "ipconsulting.se", true */ 'i', 'p', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '.', 's', 'e', '\0',
   /* "ipfirebox.de", true */ 'i', 'p', 'f', 'i', 'r', 'e', 'b', 'o', 'x', '.', 'd', 'e', '\0',
   /* "ipfp.pl", true */ 'i', 'p', 'f', 'p', '.', 'p', 'l', '\0',
   /* "ipfs.ink", true */ 'i', 'p', 'f', 's', '.', 'i', 'n', 'k', '\0',
   /* "iphoneunlock.nu", true */ 'i', 'p', 'h', 'o', 'n', 'e', 'u', 'n', 'l', 'o', 'c', 'k', '.', 'n', 'u', '\0',
   /* "ipintel.io", true */ 'i', 'p', 'i', 'n', 't', 'e', 'l', '.', 'i', 'o', '\0',
   /* "iplabs.de", true */ 'i', 'p', 'l', 'a', 'b', 's', '.', 'd', 'e', '\0',
   /* "ipledgeonline.org", false */ 'i', 'p', 'l', 'e', 'd', 'g', 'e', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0',
-  /* "iplife.cn", false */ 'i', 'p', 'l', 'i', 'f', 'e', '.', 'c', 'n', '\0',
   /* "iplog.info", true */ 'i', 'p', 'l', 'o', 'g', '.', 'i', 'n', 'f', 'o', '\0',
   /* "ipmotion.ca", true */ 'i', 'p', 'm', 'o', 't', 'i', 'o', 'n', '.', 'c', 'a', '\0',
   /* "ipokabu.net", true */ 'i', 'p', 'o', 'k', 'a', 'b', 'u', '.', 'n', 'e', 't', '\0',
   /* "ipomue.com", false */ 'i', 'p', 'o', 'm', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "iprim.ru", true */ 'i', 'p', 'r', 'i', 'm', '.', 'r', 'u', '\0',
   /* "ipsec.pl", true */ 'i', 'p', 's', 'e', 'c', '.', 'p', 'l', '\0',
   /* "ipsilon-project.org", true */ 'i', 'p', 's', 'i', 'l', 'o', 'n', '-', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "ipstream.it", true */ 'i', 'p', 's', 't', 'r', 'e', 'a', 'm', '.', 'i', 't', '\0',
@@ -9407,16 +9395,17 @@ static const char kSTSHostTable[] = {
   /* "isisfighters.info", true */ 'i', 's', 'i', 's', 'f', 'i', 'g', 'h', 't', 'e', 'r', 's', '.', 'i', 'n', 'f', 'o', '\0',
   /* "isistomie.com", true */ 'i', 's', 'i', 's', 't', 'o', 'm', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "isitchristmas.com", true */ 'i', 's', 'i', 't', 'c', 'h', 'r', 'i', 's', 't', 'm', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "isitcoffeetime.com", true */ 'i', 's', 'i', 't', 'c', 'o', 'f', 'f', 'e', 'e', 't', 'i', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "isitdoneyet.gov", true */ 'i', 's', 'i', 't', 'd', 'o', 'n', 'e', 'y', 'e', 't', '.', 'g', 'o', 'v', '\0',
   /* "isitnuclearwaryet.com", true */ 'i', 's', 'i', 't', 'n', 'u', 'c', 'l', 'e', 'a', 'r', 'w', 'a', 'r', 'y', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "isitup.org", true */ 'i', 's', 'i', 't', 'u', 'p', '.', 'o', 'r', 'g', '\0',
   /* "iskaron.de", true */ 'i', 's', 'k', 'a', 'r', 'o', 'n', '.', 'd', 'e', '\0',
+  /* "islam.si", true */ 'i', 's', 'l', 'a', 'm', '.', 's', 'i', '\0',
   /* "islandhosting.com", true */ 'i', 's', 'l', 'a', 'n', 'd', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "islandinthenet.com", true */ 'i', 's', 'l', 'a', 'n', 'd', 'i', 'n', 't', 'h', 'e', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "islazia.fr", true */ 'i', 's', 'l', 'a', 'z', 'i', 'a', '.', 'f', 'r', '\0',
   /* "isletech.net", true */ 'i', 's', 'l', 'e', 't', 'e', 'c', 'h', '.', 'n', 'e', 't', '\0',
   /* "isliada.org", true */ 'i', 's', 'l', 'i', 'a', 'd', 'a', '.', 'o', 'r', 'g', '\0',
   /* "ismat.com", true */ 'i', 's', 'm', 'a', 't', '.', 'c', 'o', 'm', '\0',
   /* "ismetroonfiretoday.com", true */ 'i', 's', 'm', 'e', 't', 'r', 'o', 'o', 'n', 'f', 'i', 'r', 'e', 't', 'o', 'd', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "isn.cz", true */ 'i', 's', 'n', '.', 'c', 'z', '\0',
@@ -9834,17 +9823,16 @@ static const char kSTSHostTable[] = {
   /* "jkrippen.com", true */ 'j', 'k', 'r', 'i', 'p', 'p', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "jlhmedia.com", true */ 'j', 'l', 'h', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "jlkhosting.com", true */ 'j', 'l', 'k', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "jlr-luxembourg.com", true */ 'j', 'l', 'r', '-', 'l', 'u', 'x', 'e', 'm', 'b', 'o', 'u', 'r', 'g', '.', 'c', 'o', 'm', '\0',
   /* "jm-bea.net", true */ 'j', 'm', '-', 'b', 'e', 'a', '.', 'n', 'e', 't', '\0',
   /* "jmb.lc", true */ 'j', 'm', 'b', '.', 'l', 'c', '\0',
   /* "jmcleaning.services", true */ 'j', 'm', 'c', 'l', 'e', 'a', 'n', 'i', 'n', 'g', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '\0',
   /* "jmedved.com", true */ 'j', 'm', 'e', 'd', 'v', 'e', 'd', '.', 'c', 'o', 'm', '\0',
-  /* "jmk.hu", true */ 'j', 'm', 'k', '.', 'h', 'u', '\0',
   /* "jmpmotorsport.co.uk", true */ 'j', 'm', 'p', 'm', 'o', 't', 'o', 'r', 's', 'p', 'o', 'r', 't', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "jmvbmx.ch", true */ 'j', 'm', 'v', 'b', 'm', 'x', '.', 'c', 'h', '\0',
   /* "jmvdigital.com", true */ 'j', 'm', 'v', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "jn1.me", true */ 'j', 'n', '1', '.', 'm', 'e', '\0',
   /* "jncde.de", true */ 'j', 'n', 'c', 'd', 'e', '.', 'd', 'e', '\0',
   /* "jncie.de", true */ 'j', 'n', 'c', 'i', 'e', '.', 'd', 'e', '\0',
   /* "jncie.eu", true */ 'j', 'n', 'c', 'i', 'e', '.', 'e', 'u', '\0',
   /* "jncip.de", true */ 'j', 'n', 'c', 'i', 'p', '.', 'd', 'e', '\0',
@@ -10079,16 +10067,17 @@ static const char kSTSHostTable[] = {
   /* "k9swx.com", true */ 'k', '9', 's', 'w', 'x', '.', 'c', 'o', 'm', '\0',
   /* "kaangenc.me", true */ 'k', 'a', 'a', 'n', 'g', 'e', 'n', 'c', '.', 'm', 'e', '\0',
   /* "kaasbijwijn.nl", true */ 'k', 'a', 'a', 's', 'b', 'i', 'j', 'w', 'i', 'j', 'n', '.', 'n', 'l', '\0',
   /* "kab-s.de", true */ 'k', 'a', 'b', '-', 's', '.', 'd', 'e', '\0',
   /* "kabat-fans.cz", true */ 'k', 'a', 'b', 'a', 't', '-', 'f', 'a', 'n', 's', '.', 'c', 'z', '\0',
   /* "kabeuchi.com", true */ 'k', 'a', 'b', 'e', 'u', 'c', 'h', 'i', '.', 'c', 'o', 'm', '\0',
   /* "kaboom.pw", true */ 'k', 'a', 'b', 'o', 'o', 'm', '.', 'p', 'w', '\0',
   /* "kabu-abc.com", true */ 'k', 'a', 'b', 'u', '-', 'a', 'b', 'c', '.', 'c', 'o', 'm', '\0',
+  /* "kabus.org", true */ 'k', 'a', 'b', 'u', 's', '.', 'o', 'r', 'g', '\0',
   /* "kachlikova2.cz", true */ 'k', 'a', 'c', 'h', 'l', 'i', 'k', 'o', 'v', 'a', '2', '.', 'c', 'z', '\0',
   /* "kack.website", true */ 'k', 'a', 'c', 'k', '.', 'w', 'e', 'b', 's', 'i', 't', 'e', '\0',
   /* "kackscharf.de", true */ 'k', 'a', 'c', 'k', 's', 'c', 'h', 'a', 'r', 'f', '.', 'd', 'e', '\0',
   /* "kadmec.com", true */ 'k', 'a', 'd', 'm', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "kaffeekrone.de", true */ 'k', 'a', 'f', 'f', 'e', 'e', 'k', 'r', 'o', 'n', 'e', '.', 'd', 'e', '\0',
   /* "kafoom.de", true */ 'k', 'a', 'f', 'o', 'o', 'm', '.', 'd', 'e', '\0',
   /* "kaheim.de", false */ 'k', 'a', 'h', 'e', 'i', 'm', '.', 'd', 'e', '\0',
   /* "kaigojj.com", true */ 'k', 'a', 'i', 'g', 'o', 'j', 'j', '.', 'c', 'o', 'm', '\0',
@@ -10236,17 +10225,16 @@ static const char kSTSHostTable[] = {
   /* "kbit.dk", true */ 'k', 'b', 'i', 't', '.', 'd', 'k', '\0',
   /* "kbjorklu.com", true */ 'k', 'b', 'j', 'o', 'r', 'k', 'l', 'u', '.', 'c', 'o', 'm', '\0',
   /* "kc-holzfaeller.de", true */ 'k', 'c', '-', 'h', 'o', 'l', 'z', 'f', 'a', 'e', 'l', 'l', 'e', 'r', '.', 'd', 'e', '\0',
   /* "kc5mpk.com", true */ 'k', 'c', '5', 'm', 'p', 'k', '.', 'c', 'o', 'm', '\0',
   /* "kcluster.io", true */ 'k', 'c', 'l', 'u', 's', 't', 'e', 'r', '.', 'i', 'o', '\0',
   /* "kcptun.com", true */ 'k', 'c', 'p', 't', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "kcsordparticipation.org", true */ 'k', 'c', 's', 'o', 'r', 'd', 'p', 'a', 'r', 't', 'i', 'c', 'i', 'p', 'a', 't', 'i', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "kdex.de", true */ 'k', 'd', 'e', 'x', '.', 'd', 'e', '\0',
-  /* "kdyby.org", true */ 'k', 'd', 'y', 'b', 'y', '.', 'o', 'r', 'g', '\0',
   /* "ke7tlf.us", true */ 'k', 'e', '7', 't', 'l', 'f', '.', 'u', 's', '\0',
   /* "keaneokelley.com", true */ 'k', 'e', 'a', 'n', 'e', 'o', 'k', 'e', 'l', 'l', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "kearney.io", true */ 'k', 'e', 'a', 'r', 'n', 'e', 'y', '.', 'i', 'o', '\0',
   /* "keartanddesign.com", true */ 'k', 'e', 'a', 'r', 't', 'a', 'n', 'd', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0',
   /* "keaysmillwork.com", true */ 'k', 'e', 'a', 'y', 's', 'm', 'i', 'l', 'l', 'w', 'o', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "kedarastudios.com", true */ 'k', 'e', 'd', 'a', 'r', 'a', 's', 't', 'u', 'd', 'i', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "keeleysam.com", true */ 'k', 'e', 'e', 'l', 'e', 'y', 's', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "keepa.com", true */ 'k', 'e', 'e', 'p', 'a', '.', 'c', 'o', 'm', '\0',
@@ -10592,16 +10580,17 @@ static const char kSTSHostTable[] = {
   /* "konventseliten.se", true */ 'k', 'o', 'n', 'v', 'e', 'n', 't', 's', 'e', 'l', 'i', 't', 'e', 'n', '.', 's', 'e', '\0',
   /* "konyalian.com", true */ 'k', 'o', 'n', 'y', 'a', 'l', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "koop-bremen.de", true */ 'k', 'o', 'o', 'p', '-', 'b', 'r', 'e', 'm', 'e', 'n', '.', 'd', 'e', '\0',
   /* "kooponline.eu", true */ 'k', 'o', 'o', 'p', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'e', 'u', '\0',
   /* "koot.nl", true */ 'k', 'o', 'o', 't', '.', 'n', 'l', '\0',
   /* "kopfkrieg.org", true */ 'k', 'o', 'p', 'f', 'k', 'r', 'i', 'e', 'g', '.', 'o', 'r', 'g', '\0',
   /* "kopular.com", true */ 'k', 'o', 'p', 'u', 'l', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "kopykatz.org", false */ 'k', 'o', 'p', 'y', 'k', 'a', 't', 'z', '.', 'o', 'r', 'g', '\0',
+  /* "korea.dating", true */ 'k', 'o', 'r', 'e', 'a', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "koretech.nl", true */ 'k', 'o', 'r', 'e', 't', 'e', 'c', 'h', '.', 'n', 'l', '\0',
   /* "korinar.com", true */ 'k', 'o', 'r', 'i', 'n', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "koriyoukai.net", true */ 'k', 'o', 'r', 'i', 'y', 'o', 'u', 'k', 'a', 'i', '.', 'n', 'e', 't', '\0',
   /* "kornersafe.com", true */ 'k', 'o', 'r', 'n', 'e', 'r', 's', 'a', 'f', 'e', '.', 'c', 'o', 'm', '\0',
   /* "korobi.io", true */ 'k', 'o', 'r', 'o', 'b', 'i', '.', 'i', 'o', '\0',
   /* "korobkovsky.ru", true */ 'k', 'o', 'r', 'o', 'b', 'k', 'o', 'v', 's', 'k', 'y', '.', 'r', 'u', '\0',
   /* "korono.de", true */ 'k', 'o', 'r', 'o', 'n', 'o', '.', 'd', 'e', '\0',
   /* "korrelzout.nl", true */ 'k', 'o', 'r', 'r', 'e', 'l', 'z', 'o', 'u', 't', '.', 'n', 'l', '\0',
@@ -10813,17 +10802,16 @@ static const char kSTSHostTable[] = {
   /* "lafosseobservatoire.be", true */ 'l', 'a', 'f', 'o', 's', 's', 'e', 'o', 'b', 's', 'e', 'r', 'v', 'a', 't', 'o', 'i', 'r', 'e', '.', 'b', 'e', '\0',
   /* "lafr4nc3.xyz", true */ 'l', 'a', 'f', 'r', '4', 'n', 'c', '3', '.', 'x', 'y', 'z', '\0',
   /* "lagarderob.ru", false */ 'l', 'a', 'g', 'a', 'r', 'd', 'e', 'r', 'o', 'b', '.', 'r', 'u', '\0',
   /* "lagerauftrag.info", true */ 'l', 'a', 'g', 'e', 'r', 'a', 'u', 'f', 't', 'r', 'a', 'g', '.', 'i', 'n', 'f', 'o', '\0',
   /* "lagier.xyz", true */ 'l', 'a', 'g', 'i', 'e', 'r', '.', 'x', 'y', 'z', '\0',
   /* "laglab.org", true */ 'l', 'a', 'g', 'l', 'a', 'b', '.', 'o', 'r', 'g', '\0',
   /* "laguiadelvaron.com", true */ 'l', 'a', 'g', 'u', 'i', 'a', 'd', 'e', 'l', 'v', 'a', 'r', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "laguinguette.fr", true */ 'l', 'a', 'g', 'u', 'i', 'n', 'g', 'u', 'e', 't', 't', 'e', '.', 'f', 'r', '\0',
-  /* "lainchan.org", true */ 'l', 'a', 'i', 'n', 'c', 'h', 'a', 'n', '.', 'o', 'r', 'g', '\0',
   /* "lajijonencadebarbera.com", true */ 'l', 'a', 'j', 'i', 'j', 'o', 'n', 'e', 'n', 'c', 'a', 'd', 'e', 'b', 'a', 'r', 'b', 'e', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "lak-berlin.de", true */ 'l', 'a', 'k', '-', 'b', 'e', 'r', 'l', 'i', 'n', '.', 'd', 'e', '\0',
   /* "lakatrop.com", true */ 'l', 'a', 'k', 'a', 't', 'r', 'o', 'p', '.', 'c', 'o', 'm', '\0',
   /* "lakewoodcomputerservices.com", true */ 'l', 'a', 'k', 'e', 'w', 'o', 'o', 'd', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "lalaya.fr", true */ 'l', 'a', 'l', 'a', 'y', 'a', '.', 'f', 'r', '\0',
   /* "laltroweb.it", true */ 'l', 'a', 'l', 't', 'r', 'o', 'w', 'e', 'b', '.', 'i', 't', '\0',
   /* "lamakat.de", true */ 'l', 'a', 'm', 'a', 'k', 'a', 't', '.', 'd', 'e', '\0',
   /* "lamapoll.de", true */ 'l', 'a', 'm', 'a', 'p', 'o', 'l', 'l', '.', 'd', 'e', '\0',
@@ -10857,16 +10845,17 @@ static const char kSTSHostTable[] = {
   /* "lanna.io", true */ 'l', 'a', 'n', 'n', 'a', '.', 'i', 'o', '\0',
   /* "lansechensilu.com", true */ 'l', 'a', 'n', 's', 'e', 'c', 'h', 'e', 'n', 's', 'i', 'l', 'u', '.', 'c', 'o', 'm', '\0',
   /* "lansinoh.co.uk", true */ 'l', 'a', 'n', 's', 'i', 'n', 'o', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "lantian.pub", true */ 'l', 'a', 'n', 't', 'i', 'a', 'n', '.', 'p', 'u', 'b', '\0',
   /* "lanuovariviera.it", true */ 'l', 'a', 'n', 'u', 'o', 'v', 'a', 'r', 'i', 'v', 'i', 'e', 'r', 'a', '.', 'i', 't', '\0',
   /* "lanyang.tk", true */ 'l', 'a', 'n', 'y', 'a', 'n', 'g', '.', 't', 'k', '\0',
   /* "lanzainc.xyz", true */ 'l', 'a', 'n', 'z', 'a', 'i', 'n', 'c', '.', 'x', 'y', 'z', '\0',
   /* "lanzamientovirtual.es", true */ 'l', 'a', 'n', 'z', 'a', 'm', 'i', 'e', 'n', 't', 'o', 'v', 'i', 'r', 't', 'u', 'a', 'l', '.', 'e', 's', '\0',
+  /* "laos.dating", true */ 'l', 'a', 'o', 's', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "lapetition.be", true */ 'l', 'a', 'p', 'e', 't', 'i', 't', 'i', 'o', 'n', '.', 'b', 'e', '\0',
   /* "lapidge.net", true */ 'l', 'a', 'p', 'i', 'd', 'g', 'e', '.', 'n', 'e', 't', '\0',
   /* "laplanetebleue.com", true */ 'l', 'a', 'p', 'l', 'a', 'n', 'e', 't', 'e', 'b', 'l', 'e', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "lapolla.com", true */ 'l', 'a', 'p', 'o', 'l', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "laposte.net", true */ 'l', 'a', 'p', 'o', 's', 't', 'e', '.', 'n', 'e', 't', '\0',
   /* "lapparente-aise.ch", true */ 'l', 'a', 'p', 'p', 'a', 'r', 'e', 'n', 't', 'e', '-', 'a', 'i', 's', 'e', '.', 'c', 'h', '\0',
   /* "laraeph.com", true */ 'l', 'a', 'r', 'a', 'e', 'p', 'h', '.', 'c', 'o', 'm', '\0',
   /* "laranara.se", true */ 'l', 'a', 'r', 'a', 'n', 'a', 'r', 'a', '.', 's', 'e', '\0',
@@ -10901,16 +10890,17 @@ static const char kSTSHostTable[] = {
   /* "latenitefilms.com", false */ 'l', 'a', 't', 'e', 'n', 'i', 't', 'e', 'f', 'i', 'l', 'm', 's', '.', 'c', 'o', 'm', '\0',
   /* "lateralsecurity.com", true */ 'l', 'a', 't', 'e', 'r', 'a', 'l', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "latestdeals.co.uk", true */ 'l', 'a', 't', 'e', 's', 't', 'd', 'e', 'a', 'l', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "latetrain.cn", true */ 'l', 'a', 't', 'e', 't', 'r', 'a', 'i', 'n', '.', 'c', 'n', '\0',
   /* "lathamlabs.com", true */ 'l', 'a', 't', 'h', 'a', 'm', 'l', 'a', 'b', 's', '.', 'c', 'o', 'm', '\0',
   /* "lathamlabs.net", true */ 'l', 'a', 't', 'h', 'a', 'm', 'l', 'a', 'b', 's', '.', 'n', 'e', 't', '\0',
   /* "lathamlabs.org", true */ 'l', 'a', 't', 'h', 'a', 'm', 'l', 'a', 'b', 's', '.', 'o', 'r', 'g', '\0',
   /* "lathen-wahn.de", true */ 'l', 'a', 't', 'h', 'e', 'n', '-', 'w', 'a', 'h', 'n', '.', 'd', 'e', '\0',
+  /* "latino.dating", true */ 'l', 'a', 't', 'i', 'n', 'o', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "latinphone.com", true */ 'l', 'a', 't', 'i', 'n', 'p', 'h', 'o', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "latitude42technology.com", true */ 'l', 'a', 't', 'i', 't', 'u', 'd', 'e', '4', '2', 't', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'y', '.', 'c', 'o', 'm', '\0',
   /* "latour-managedcare.ch", true */ 'l', 'a', 't', 'o', 'u', 'r', '-', 'm', 'a', 'n', 'a', 'g', 'e', 'd', 'c', 'a', 'r', 'e', '.', 'c', 'h', '\0',
   /* "latrine.cz", true */ 'l', 'a', 't', 'r', 'i', 'n', 'e', '.', 'c', 'z', '\0',
   /* "lattyware.co.uk", true */ 'l', 'a', 't', 't', 'y', 'w', 'a', 'r', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "lattyware.com", true */ 'l', 'a', 't', 't', 'y', 'w', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "laubacher.io", true */ 'l', 'a', 'u', 'b', 'a', 'c', 'h', 'e', 'r', '.', 'i', 'o', '\0',
   /* "lauchundei.at", true */ 'l', 'a', 'u', 'c', 'h', 'u', 'n', 'd', 'e', 'i', '.', 'a', 't', '\0',
@@ -10954,20 +10944,20 @@ static const char kSTSHostTable[] = {
   /* "ldc.com.br", false */ 'l', 'd', 'c', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "ldcraft.pw", true */ 'l', 'd', 'c', 'r', 'a', 'f', 't', '.', 'p', 'w', '\0',
   /* "le-bar.org", true */ 'l', 'e', '-', 'b', 'a', 'r', '.', 'o', 'r', 'g', '\0',
   /* "le-controle-parental.fr", true */ 'l', 'e', '-', 'c', 'o', 'n', 't', 'r', 'o', 'l', 'e', '-', 'p', 'a', 'r', 'e', 'n', 't', 'a', 'l', '.', 'f', 'r', '\0',
   /* "le-creux-du-van.ch", true */ 'l', 'e', '-', 'c', 'r', 'e', 'u', 'x', '-', 'd', 'u', '-', 'v', 'a', 'n', '.', 'c', 'h', '\0',
   /* "le-dev.de", false */ 'l', 'e', '-', 'd', 'e', 'v', '.', 'd', 'e', '\0',
   /* "le-h.de", true */ 'l', 'e', '-', 'h', '.', 'd', 'e', '\0',
   /* "le-hosting.de", true */ 'l', 'e', '-', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'd', 'e', '\0',
+  /* "le-palantir.com", true */ 'l', 'e', '-', 'p', 'a', 'l', 'a', 'n', 't', 'i', 'r', '.', 'c', 'o', 'm', '\0',
   /* "le-traiteur-parisien.fr", true */ 'l', 'e', '-', 't', 'r', 'a', 'i', 't', 'e', 'u', 'r', '-', 'p', 'a', 'r', 'i', 's', 'i', 'e', 'n', '.', 'f', 'r', '\0',
   /* "le23.fr", true */ 'l', 'e', '2', '3', '.', 'f', 'r', '\0',
   /* "le42mars.fr", true */ 'l', 'e', '4', '2', 'm', 'a', 'r', 's', '.', 'f', 'r', '\0',
-  /* "leadbook.ru", true */ 'l', 'e', 'a', 'd', 'b', 'o', 'o', 'k', '.', 'r', 'u', '\0',
   /* "leadbox.cz", true */ 'l', 'e', 'a', 'd', 'b', 'o', 'x', '.', 'c', 'z', '\0',
   /* "leadingsalons.com", true */ 'l', 'e', 'a', 'd', 'i', 'n', 'g', 's', 'a', 'l', 'o', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "leafandseed.co.uk", true */ 'l', 'e', 'a', 'f', 'a', 'n', 'd', 's', 'e', 'e', 'd', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "leafans.tk", true */ 'l', 'e', 'a', 'f', 'a', 'n', 's', '.', 't', 'k', '\0',
   /* "leakedminecraft.net", true */ 'l', 'e', 'a', 'k', 'e', 'd', 'm', 'i', 'n', 'e', 'c', 'r', 'a', 'f', 't', '.', 'n', 'e', 't', '\0',
   /* "leakforums.net", true */ 'l', 'e', 'a', 'k', 'f', 'o', 'r', 'u', 'm', 's', '.', 'n', 'e', 't', '\0',
   /* "leakreporter.net", true */ 'l', 'e', 'a', 'k', 'r', 'e', 'p', 'o', 'r', 't', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "leaks.directory", true */ 'l', 'e', 'a', 'k', 's', '.', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\0',
@@ -11028,16 +11018,17 @@ static const char kSTSHostTable[] = {
   /* "legible.es", true */ 'l', 'e', 'g', 'i', 'b', 'l', 'e', '.', 'e', 's', '\0',
   /* "legioniv.org", true */ 'l', 'e', 'g', 'i', 'o', 'n', 'i', 'v', '.', 'o', 'r', 'g', '\0',
   /* "legiscontabilidade.com.br", true */ 'l', 'e', 'g', 'i', 's', 'c', 'o', 'n', 't', 'a', 'b', 'i', 'l', 'i', 'd', 'a', 'd', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "legit.nz", true */ 'l', 'e', 'g', 'i', 't', '.', 'n', 'z', '\0',
   /* "legitaxi.com", true */ 'l', 'e', 'g', 'i', 't', 'a', 'x', 'i', '.', 'c', 'o', 'm', '\0',
   /* "legland.fr", true */ 'l', 'e', 'g', 'l', 'a', 'n', 'd', '.', 'f', 'r', '\0',
   /* "legoutdesplantes.be", true */ 'l', 'e', 'g', 'o', 'u', 't', 'd', 'e', 's', 'p', 'l', 'a', 'n', 't', 'e', 's', '.', 'b', 'e', '\0',
   /* "legymnase.eu", true */ 'l', 'e', 'g', 'y', 'm', 'n', 'a', 's', 'e', '.', 'e', 'u', '\0',
+  /* "lehighmathcircle.org", true */ 'l', 'e', 'h', 'i', 'g', 'h', 'm', 'a', 't', 'h', 'c', 'i', 'r', 'c', 'l', 'e', '.', 'o', 'r', 'g', '\0',
   /* "lehtinen.xyz", true */ 'l', 'e', 'h', 't', 'i', 'n', 'e', 'n', '.', 'x', 'y', 'z', '\0',
   /* "leibniz-remscheid.de", false */ 'l', 'e', 'i', 'b', 'n', 'i', 'z', '-', 'r', 'e', 'm', 's', 'c', 'h', 'e', 'i', 'd', '.', 'd', 'e', '\0',
   /* "leigh.life", true */ 'l', 'e', 'i', 'g', 'h', '.', 'l', 'i', 'f', 'e', '\0',
   /* "leighneithardt.com", true */ 'l', 'e', 'i', 'g', 'h', 'n', 'e', 'i', 't', 'h', 'a', 'r', 'd', 't', '.', 'c', 'o', 'm', '\0',
   /* "leilautourdumon.de", true */ 'l', 'e', 'i', 'l', 'a', 'u', 't', 'o', 'u', 'r', 'd', 'u', 'm', 'o', 'n', '.', 'd', 'e', '\0',
   /* "leilonorte.com", true */ 'l', 'e', 'i', 'l', 'o', 'n', 'o', 'r', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "leiming.co", true */ 'l', 'e', 'i', 'm', 'i', 'n', 'g', '.', 'c', 'o', '\0',
   /* "leipzig.photo", true */ 'l', 'e', 'i', 'p', 'z', 'i', 'g', '.', 'p', 'h', 'o', 't', 'o', '\0',
@@ -11176,17 +11167,16 @@ static const char kSTSHostTable[] = {
   /* "lidl-tour.ro", true */ 'l', 'i', 'd', 'l', '-', 't', 'o', 'u', 'r', '.', 'r', 'o', '\0',
   /* "lidong.me", true */ 'l', 'i', 'd', 'o', 'n', 'g', '.', 'm', 'e', '\0',
   /* "lidow.eu", true */ 'l', 'i', 'd', 'o', 'w', '.', 'e', 'u', '\0',
   /* "liduan.com", true */ 'l', 'i', 'd', 'u', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "liduan.net", true */ 'l', 'i', 'd', 'u', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "liebel.org", true */ 'l', 'i', 'e', 'b', 'e', 'l', '.', 'o', 'r', 'g', '\0',
   /* "liebestarot.at", true */ 'l', 'i', 'e', 'b', 'e', 's', 't', 'a', 'r', 'o', 't', '.', 'a', 't', '\0',
   /* "lied8.eu", true */ 'l', 'i', 'e', 'd', '8', '.', 'e', 'u', '\0',
-  /* "liemen.net", true */ 'l', 'i', 'e', 'm', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "lifanov.com", true */ 'l', 'i', 'f', 'a', 'n', 'o', 'v', '.', 'c', 'o', 'm', '\0',
   /* "life-time.nl", true */ 'l', 'i', 'f', 'e', '-', 't', 'i', 'm', 'e', '.', 'n', 'l', '\0',
   /* "lifebetweenlives.com.au", true */ 'l', 'i', 'f', 'e', 'b', 'e', 't', 'w', 'e', 'e', 'n', 'l', 'i', 'v', 'e', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "lifekiss.ru", true */ 'l', 'i', 'f', 'e', 'k', 'i', 's', 's', '.', 'r', 'u', '\0',
   /* "lifenexto.com", true */ 'l', 'i', 'f', 'e', 'n', 'e', 'x', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "lifeqa.net", true */ 'l', 'i', 'f', 'e', 'q', 'a', '.', 'n', 'e', 't', '\0',
   /* "lifequotes-uk.co.uk", true */ 'l', 'i', 'f', 'e', 'q', 'u', 'o', 't', 'e', 's', '-', 'u', 'k', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "lifi.digital", true */ 'l', 'i', 'f', 'i', '.', 'd', 'i', 'g', 'i', 't', 'a', 'l', '\0',
@@ -11641,17 +11631,16 @@ static const char kSTSHostTable[] = {
   /* "maces-net.de", true */ 'm', 'a', 'c', 'e', 's', '-', 'n', 'e', 't', '.', 'd', 'e', '\0',
   /* "mach-politik.ch", true */ 'm', 'a', 'c', 'h', '-', 'p', 'o', 'l', 'i', 't', 'i', 'k', '.', 'c', 'h', '\0',
   /* "macha.cloud", true */ 'm', 'a', 'c', 'h', 'a', '.', 'c', 'l', 'o', 'u', 'd', '\0',
   /* "machbach.com", true */ 'm', 'a', 'c', 'h', 'b', 'a', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "machbach.net", true */ 'm', 'a', 'c', 'h', 'b', 'a', 'c', 'h', '.', 'n', 'e', 't', '\0',
   /* "machon.biz", false */ 'm', 'a', 'c', 'h', 'o', 'n', '.', 'b', 'i', 'z', '\0',
   /* "macht-elektro.de", true */ 'm', 'a', 'c', 'h', 't', '-', 'e', 'l', 'e', 'k', 't', 'r', 'o', '.', 'd', 'e', '\0',
   /* "machtweb.de", true */ 'm', 'a', 'c', 'h', 't', 'w', 'e', 'b', '.', 'd', 'e', '\0',
-  /* "macinyasha.net", true */ 'm', 'a', 'c', 'i', 'n', 'y', 'a', 's', 'h', 'a', '.', 'n', 'e', 't', '\0',
   /* "macker.io", true */ 'm', 'a', 'c', 'k', 'e', 'r', '.', 'i', 'o', '\0',
   /* "mackey7.net", true */ 'm', 'a', 'c', 'k', 'e', 'y', '7', '.', 'n', 'e', 't', '\0',
   /* "maclemon.at", true */ 'm', 'a', 'c', 'l', 'e', 'm', 'o', 'n', '.', 'a', 't', '\0',
   /* "macleod.io", true */ 'm', 'a', 'c', 'l', 'e', 'o', 'd', '.', 'i', 'o', '\0',
   /* "macnemo.de", true */ 'm', 'a', 'c', 'n', 'e', 'm', 'o', '.', 'd', 'e', '\0',
   /* "maco.org.uk", true */ 'm', 'a', 'c', 'o', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "maconnerie-dcs.ch", true */ 'm', 'a', 'c', 'o', 'n', 'n', 'e', 'r', 'i', 'e', '-', 'd', 'c', 's', '.', 'c', 'h', '\0',
   /* "macosxfilerecovery.com", true */ 'm', 'a', 'c', 'o', 's', 'x', 'f', 'i', 'l', 'e', 'r', 'e', 'c', 'o', 'v', 'e', 'r', 'y', '.', 'c', 'o', 'm', '\0',
@@ -11849,17 +11838,16 @@ static const char kSTSHostTable[] = {
   /* "marcelsiegert.com", true */ 'm', 'a', 'r', 'c', 'e', 'l', 's', 'i', 'e', 'g', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "marcgoertz.de", true */ 'm', 'a', 'r', 'c', 'g', 'o', 'e', 'r', 't', 'z', '.', 'd', 'e', '\0',
   /* "marche-nordic-jorat.ch", true */ 'm', 'a', 'r', 'c', 'h', 'e', '-', 'n', 'o', 'r', 'd', 'i', 'c', '-', 'j', 'o', 'r', 'a', 't', '.', 'c', 'h', '\0',
   /* "marco-polo-reisen.com", true */ 'm', 'a', 'r', 'c', 'o', '-', 'p', 'o', 'l', 'o', '-', 'r', 'e', 'i', 's', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "marco01809.net", true */ 'm', 'a', 'r', 'c', 'o', '0', '1', '8', '0', '9', '.', 'n', 'e', 't', '\0',
   /* "marcohager.de", true */ 'm', 'a', 'r', 'c', 'o', 'h', 'a', 'g', 'e', 'r', '.', 'd', 'e', '\0',
   /* "marcoherten.com", true */ 'm', 'a', 'r', 'c', 'o', 'h', 'e', 'r', 't', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "marcoslater.com", true */ 'm', 'a', 'r', 'c', 'o', 's', 'l', 'a', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
-  /* "marcschlagenhauf.de", true */ 'm', 'a', 'r', 'c', 's', 'c', 'h', 'l', 'a', 'g', 'e', 'n', 'h', 'a', 'u', 'f', '.', 'd', 'e', '\0',
   /* "marcush.de", true */ 'm', 'a', 'r', 'c', 'u', 's', 'h', '.', 'd', 'e', '\0',
   /* "marcuskoh.com", true */ 'm', 'a', 'r', 'c', 'u', 's', 'k', 'o', 'h', '.', 'c', 'o', 'm', '\0',
   /* "marcusstafford.com", true */ 'm', 'a', 'r', 'c', 'u', 's', 's', 't', 'a', 'f', 'f', 'o', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "mardelcupon.com", true */ 'm', 'a', 'r', 'd', 'e', 'l', 'c', 'u', 'p', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "mare92.cz", true */ 'm', 'a', 'r', 'e', '9', '2', '.', 'c', 'z', '\0',
   /* "mareklecian.cz", true */ 'm', 'a', 'r', 'e', 'k', 'l', 'e', 'c', 'i', 'a', 'n', '.', 'c', 'z', '\0',
   /* "margagriesser.de", true */ 'm', 'a', 'r', 'g', 'a', 'g', 'r', 'i', 'e', 's', 's', 'e', 'r', '.', 'd', 'e', '\0',
   /* "margan.ch", true */ 'm', 'a', 'r', 'g', 'a', 'n', '.', 'c', 'h', '\0',
@@ -12460,16 +12448,17 @@ static const char kSTSHostTable[] = {
   /* "minacssas.com", true */ 'm', 'i', 'n', 'a', 'c', 's', 's', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "minakov.pro", true */ 'm', 'i', 'n', 'a', 'k', 'o', 'v', '.', 'p', 'r', 'o', '\0',
   /* "minami.xyz", true */ 'm', 'i', 'n', 'a', 'm', 'i', '.', 'x', 'y', 'z', '\0',
   /* "minantavla.se", true */ 'm', 'i', 'n', 'a', 'n', 't', 'a', 'v', 'l', 'a', '.', 's', 'e', '\0',
   /* "minaprine.com", true */ 'm', 'i', 'n', 'a', 'p', 'r', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mind-box.ch", true */ 'm', 'i', 'n', 'd', '-', 'b', 'o', 'x', '.', 'c', 'h', '\0',
   /* "mind-hochschul-netzwerk.de", true */ 'm', 'i', 'n', 'd', '-', 'h', 'o', 'c', 'h', 's', 'c', 'h', 'u', 'l', '-', 'n', 'e', 't', 'z', 'w', 'e', 'r', 'k', '.', 'd', 'e', '\0',
   /* "mind-moves.es", true */ 'm', 'i', 'n', 'd', '-', 'm', 'o', 'v', 'e', 's', '.', 'e', 's', '\0',
+  /* "mind.sh", true */ 'm', 'i', 'n', 'd', '.', 's', 'h', '\0',
   /* "mindbodycontinuum.com", true */ 'm', 'i', 'n', 'd', 'b', 'o', 'd', 'y', 'c', 'o', 'n', 't', 'i', 'n', 'u', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "mindcoding.ro", true */ 'm', 'i', 'n', 'd', 'c', 'o', 'd', 'i', 'n', 'g', '.', 'r', 'o', '\0',
   /* "mindturbo.com", true */ 'm', 'i', 'n', 'd', 't', 'u', 'r', 'b', 'o', '.', 'c', 'o', 'm', '\0',
   /* "mindwerks.net", true */ 'm', 'i', 'n', 'd', 'w', 'e', 'r', 'k', 's', '.', 'n', 'e', 't', '\0',
   /* "mine.world", true */ 'm', 'i', 'n', 'e', '.', 'w', 'o', 'r', 'l', 'd', '\0',
   /* "mine260309.me", true */ 'm', 'i', 'n', 'e', '2', '6', '0', '3', '0', '9', '.', 'm', 'e', '\0',
   /* "minecraft-forum.cf", true */ 'm', 'i', 'n', 'e', 'c', 'r', 'a', 'f', 't', '-', 'f', 'o', 'r', 'u', 'm', '.', 'c', 'f', '\0',
   /* "minecraft-forum.eu", true */ 'm', 'i', 'n', 'e', 'c', 'r', 'a', 'f', 't', '-', 'f', 'o', 'r', 'u', 'm', '.', 'e', 'u', '\0',
@@ -12836,17 +12825,16 @@ static const char kSTSHostTable[] = {
   /* "mpsgarage.com.au", true */ 'm', 'p', 's', 'g', 'a', 'r', 'a', 'g', 'e', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "mpsoundcraft.com", true */ 'm', 'p', 's', 'o', 'u', 'n', 'd', 'c', 'r', 'a', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "mpy.ovh", true */ 'm', 'p', 'y', '.', 'o', 'v', 'h', '\0',
   /* "mr-anderson.org", true */ 'm', 'r', '-', 'a', 'n', 'd', 'e', 'r', 's', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "mr-hosting.com", true */ 'm', 'r', '-', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "mrawe.com", true */ 'm', 'r', 'a', 'w', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mrd.ninja", true */ 'm', 'r', 'd', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "mrdayman.com", true */ 'm', 'r', 'd', 'a', 'y', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
-  /* "mremallin.ca", true */ 'm', 'r', 'e', 'm', 'a', 'l', 'l', 'i', 'n', '.', 'c', 'a', '\0',
   /* "mrhee.com", true */ 'm', 'r', 'h', 'e', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mrinalpurohit.in", true */ 'm', 'r', 'i', 'n', 'a', 'l', 'p', 'u', 'r', 'o', 'h', 'i', 't', '.', 'i', 'n', '\0',
   /* "mrizzio.com", true */ 'm', 'r', 'i', 'z', 'z', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "mrmoregame.de", true */ 'm', 'r', 'm', 'o', 'r', 'e', 'g', 'a', 'm', 'e', '.', 'd', 'e', '\0',
   /* "mrsbairds.com", true */ 'm', 'r', 's', 'b', 'a', 'i', 'r', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "mrserge.lv", true */ 'm', 'r', 's', 'e', 'r', 'g', 'e', '.', 'l', 'v', '\0',
   /* "mrsk.me", true */ 'm', 'r', 's', 'k', '.', 'm', 'e', '\0',
   /* "mrx.one", true */ 'm', 'r', 'x', '.', 'o', 'n', 'e', '\0',
@@ -12886,16 +12874,17 @@ static const char kSTSHostTable[] = {
   /* "mtn.cc", true */ 'm', 't', 'n', '.', 'c', 'c', '\0',
   /* "mtnz.co.za", true */ 'm', 't', 'n', 'z', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "mtouch.facebook.com", false */ 'm', 't', 'o', 'u', 'c', 'h', '.', 'f', 'a', 'c', 'e', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0',
   /* "mtr.md", true */ 'm', 't', 'r', '.', 'm', 'd', '\0',
   /* "mts-energia.eu", true */ 'm', 't', 's', '-', 'e', 'n', 'e', 'r', 'g', 'i', 'a', '.', 'e', 'u', '\0',
   /* "mts-server.com", true */ 'm', 't', 's', '-', 's', 'e', 'r', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "mtsolar.es", true */ 'm', 't', 's', 'o', 'l', 'a', 'r', '.', 'e', 's', '\0',
   /* "muabannhanh.com", false */ 'm', 'u', 'a', 'b', 'a', 'n', 'n', 'h', 'a', 'n', 'h', '.', 'c', 'o', 'm', '\0',
+  /* "muchohentai.com", true */ 'm', 'u', 'c', 'h', 'o', 'h', 'e', 'n', 't', 'a', 'i', '.', 'c', 'o', 'm', '\0',
   /* "muckingabout.eu", true */ 'm', 'u', 'c', 'k', 'i', 'n', 'g', 'a', 'b', 'o', 'u', 't', '.', 'e', 'u', '\0',
   /* "muehlemann.net", true */ 'm', 'u', 'e', 'h', 'l', 'e', 'm', 'a', 'n', 'n', '.', 'n', 'e', 't', '\0',
   /* "muellapp.com", true */ 'm', 'u', 'e', 'l', 'l', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "muenzubi.de", true */ 'm', 'u', 'e', 'n', 'z', 'u', 'b', 'i', '.', 'd', 'e', '\0',
   /* "muevetumundo.com.mx", true */ 'm', 'u', 'e', 'v', 'e', 't', 'u', 'm', 'u', 'n', 'd', 'o', '.', 'c', 'o', 'm', '.', 'm', 'x', '\0',
   /* "muga.space", true */ 'm', 'u', 'g', 'a', '.', 's', 'p', 'a', 'c', 'e', '\0',
   /* "muguayuan.com", true */ 'm', 'u', 'g', 'u', 'a', 'y', 'u', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "muj-svet.cz", true */ 'm', 'u', 'j', '-', 's', 'v', 'e', 't', '.', 'c', 'z', '\0',
@@ -13034,26 +13023,27 @@ static const char kSTSHostTable[] = {
   /* "mygpsite.com", true */ 'm', 'y', 'g', 'p', 's', 'i', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mygreatjob.eu", true */ 'm', 'y', 'g', 'r', 'e', 'a', 't', 'j', 'o', 'b', '.', 'e', 'u', '\0',
   /* "mygreatjobs.de", true */ 'm', 'y', 'g', 'r', 'e', 'a', 't', 'j', 'o', 'b', 's', '.', 'd', 'e', '\0',
   /* "mygretchen.de", true */ 'm', 'y', 'g', 'r', 'e', 't', 'c', 'h', 'e', 'n', '.', 'd', 'e', '\0',
   /* "mygrotto.org", true */ 'm', 'y', 'g', 'r', 'o', 't', 't', 'o', '.', 'o', 'r', 'g', '\0',
   /* "mygymer.ch", true */ 'm', 'y', 'g', 'y', 'm', 'e', 'r', '.', 'c', 'h', '\0',
   /* "myhealthreviews.com", true */ 'm', 'y', 'h', 'e', 'a', 'l', 't', 'h', 'r', 'e', 'v', 'i', 'e', 'w', 's', '.', 'c', 'o', 'm', '\0',
   /* "myhostname.net", true */ 'm', 'y', 'h', 'o', 's', 't', 'n', 'a', 'm', 'e', '.', 'n', 'e', 't', '\0',
-  /* "myimds.com", true */ 'm', 'y', 'i', 'm', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "myimmitracker.com", true */ 'm', 'y', 'i', 'm', 'm', 'i', 't', 'r', 'a', 'c', 'k', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "myip.tech", true */ 'm', 'y', 'i', 'p', '.', 't', 'e', 'c', 'h', '\0',
   /* "mykeepsake.xyz", false */ 'm', 'y', 'k', 'e', 'e', 'p', 's', 'a', 'k', 'e', '.', 'x', 'y', 'z', '\0',
   /* "myki.co", true */ 'm', 'y', 'k', 'i', '.', 'c', 'o', '\0',
   /* "mykolab.com", true */ 'm', 'y', 'k', 'o', 'l', 'a', 'b', '.', 'c', 'o', 'm', '\0',
   /* "mykontool.de", true */ 'm', 'y', 'k', 'o', 'n', 't', 'o', 'o', 'l', '.', 'd', 'e', '\0',
   /* "mylittlemoppet.com", true */ 'm', 'y', 'l', 'i', 't', 't', 'l', 'e', 'm', 'o', 'p', 'p', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "mylocalsearch.co.uk", true */ 'm', 'y', 'l', 'o', 'c', 'a', 'l', 's', 'e', 'a', 'r', 'c', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "mylookout.com", false */ 'm', 'y', 'l', 'o', 'o', 'k', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
+  /* "mymed.de", true */ 'm', 'y', 'm', 'e', 'd', '.', 'd', 'e', '\0',
+  /* "mymed.eu", true */ 'm', 'y', 'm', 'e', 'd', '.', 'e', 'u', '\0',
   /* "mymotor.nl", true */ 'm', 'y', 'm', 'o', 't', 'o', 'r', '.', 'n', 'l', '\0',
   /* "mymp3singer.net", true */ 'm', 'y', 'm', 'p', '3', 's', 'i', 'n', 'g', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "mymp3singer.site", true */ 'm', 'y', 'm', 'p', '3', 's', 'i', 'n', 'g', 'e', 'r', '.', 's', 'i', 't', 'e', '\0',
   /* "myms.eu", true */ 'm', 'y', 'm', 's', '.', 'e', 'u', '\0',
   /* "mymsr.de", true */ 'm', 'y', 'm', 's', 'r', '.', 'd', 'e', '\0',
   /* "mymx.lu", true */ 'm', 'y', 'm', 'x', '.', 'l', 'u', '\0',
   /* "mynetworkingbuddy.com", true */ 'm', 'y', 'n', 'e', 't', 'w', 'o', 'r', 'k', 'i', 'n', 'g', 'b', 'u', 'd', 'd', 'y', '.', 'c', 'o', 'm', '\0',
   /* "mynigma.org", true */ 'm', 'y', 'n', 'i', 'g', 'm', 'a', '.', 'o', 'r', 'g', '\0',
@@ -13203,17 +13193,16 @@ static const char kSTSHostTable[] = {
   /* "narrativasdigitais.pt", true */ 'n', 'a', 'r', 'r', 'a', 't', 'i', 'v', 'a', 's', 'd', 'i', 'g', 'i', 't', 'a', 'i', 's', '.', 'p', 't', '\0',
   /* "narthollis.net", true */ 'n', 'a', 'r', 't', 'h', 'o', 'l', 'l', 'i', 's', '.', 'n', 'e', 't', '\0',
   /* "nartuk.com.ua", false */ 'n', 'a', 'r', 't', 'u', 'k', '.', 'c', 'o', 'm', '.', 'u', 'a', '\0',
   /* "nasarawanewsonline.com", true */ 'n', 'a', 's', 'a', 'r', 'a', 'w', 'a', 'n', 'e', 'w', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "nascher.org", false */ 'n', 'a', 's', 'c', 'h', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "nasmocopati.com", true */ 'n', 'a', 's', 'm', 'o', 'c', 'o', 'p', 'a', 't', 'i', '.', 'c', 'o', 'm', '\0',
   /* "nasralmabrooka.com", true */ 'n', 'a', 's', 'r', 'a', 'l', 'm', 'a', 'b', 'r', 'o', 'o', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "nasreddine.xyz", false */ 'n', 'a', 's', 'r', 'e', 'd', 'd', 'i', 'n', 'e', '.', 'x', 'y', 'z', '\0',
-  /* "nasrsolar.com", true */ 'n', 'a', 's', 'r', 's', 'o', 'l', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "nassi.me", true */ 'n', 'a', 's', 's', 'i', '.', 'm', 'e', '\0',
   /* "nastoletni.pl", true */ 'n', 'a', 's', 't', 'o', 'l', 'e', 't', 'n', 'i', '.', 'p', 'l', '\0',
   /* "nastysclaw.com", true */ 'n', 'a', 's', 't', 'y', 's', 'c', 'l', 'a', 'w', '.', 'c', 'o', 'm', '\0',
   /* "nataliedawnhanson.com", true */ 'n', 'a', 't', 'a', 'l', 'i', 'e', 'd', 'a', 'w', 'n', 'h', 'a', 'n', 's', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "natalydanilova.com", true */ 'n', 'a', 't', 'a', 'l', 'y', 'd', 'a', 'n', 'i', 'l', 'o', 'v', 'a', '.', 'c', 'o', 'm', '\0',
   /* "natatorium.org", true */ 'n', 'a', 't', 'a', 't', 'o', 'r', 'i', 'u', 'm', '.', 'o', 'r', 'g', '\0',
   /* "natecraun.net", true */ 'n', 'a', 't', 'e', 'c', 'r', 'a', 'u', 'n', '.', 'n', 'e', 't', '\0',
   /* "natenom.com", true */ 'n', 'a', 't', 'e', 'n', 'o', 'm', '.', 'c', 'o', 'm', '\0',
@@ -13372,16 +13361,17 @@ static const char kSTSHostTable[] = {
   /* "netera.se", true */ 'n', 'e', 't', 'e', 'r', 'a', '.', 's', 'e', '\0',
   /* "netfabb.com", true */ 'n', 'e', 't', 'f', 'a', 'b', 'b', '.', 'c', 'o', 'm', '\0',
   /* "netfs.pl", false */ 'n', 'e', 't', 'f', 's', '.', 'p', 'l', '\0',
   /* "netfxharmonics.com", true */ 'n', 'e', 't', 'f', 'x', 'h', 'a', 'r', 'm', 'o', 'n', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "netguide.co.nz", true */ 'n', 'e', 't', 'g', 'u', 'i', 'd', 'e', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "nethackwiki.com", true */ 'n', 'e', 't', 'h', 'a', 'c', 'k', 'w', 'i', 'k', 'i', '.', 'c', 'o', 'm', '\0',
   /* "nethruster.com", true */ 'n', 'e', 't', 'h', 'r', 'u', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "nethunter.top", true */ 'n', 'e', 't', 'h', 'u', 'n', 't', 'e', 'r', '.', 't', 'o', 'p', '\0',
+  /* "netica.fr", false */ 'n', 'e', 't', 'i', 'c', 'a', '.', 'f', 'r', '\0',
   /* "netlocal.ru", true */ 'n', 'e', 't', 'l', 'o', 'c', 'a', 'l', '.', 'r', 'u', '\0',
   /* "netmazk.net", false */ 'n', 'e', 't', 'm', 'a', 'z', 'k', '.', 'n', 'e', 't', '\0',
   /* "netnodes.net", true */ 'n', 'e', 't', 'n', 'o', 'd', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "netraising.com", true */ 'n', 'e', 't', 'r', 'a', 'i', 's', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "netrelay.email", true */ 'n', 'e', 't', 'r', 'e', 'l', 'a', 'y', '.', 'e', 'm', 'a', 'i', 'l', '\0',
   /* "netrider.net.au", false */ 'n', 'e', 't', 'r', 'i', 'd', 'e', 'r', '.', 'n', 'e', 't', '.', 'a', 'u', '\0',
   /* "netronix.be", true */ 'n', 'e', 't', 'r', 'o', 'n', 'i', 'x', '.', 'b', 'e', '\0',
   /* "netsight.org", true */ 'n', 'e', 't', 's', 'i', 'g', 'h', 't', '.', 'o', 'r', 'g', '\0',
@@ -13481,17 +13471,16 @@ static const char kSTSHostTable[] = {
   /* "nextmbta.com", true */ 'n', 'e', 'x', 't', 'm', 'b', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "nextnowagency.com", true */ 'n', 'e', 'x', 't', 'n', 'o', 'w', 'a', 'g', 'e', 'n', 'c', 'y', '.', 'c', 'o', 'm', '\0',
   /* "nexusconnectinternational.eu", true */ 'n', 'e', 'x', 'u', 's', 'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'n', 't', 'e', 'r', 'n', 'a', 't', 'i', 'o', 'n', 'a', 'l', '.', 'e', 'u', '\0',
   /* "nexuscorporation.in", true */ 'n', 'e', 'x', 'u', 's', 'c', 'o', 'r', 'p', 'o', 'r', 'a', 't', 'i', 'o', 'n', '.', 'i', 'n', '\0',
   /* "neyer-lorenz.de", true */ 'n', 'e', 'y', 'e', 'r', '-', 'l', 'o', 'r', 'e', 'n', 'z', '.', 'd', 'e', '\0',
   /* "nezrouge-geneve.ch", true */ 'n', 'e', 'z', 'r', 'o', 'u', 'g', 'e', '-', 'g', 'e', 'n', 'e', 'v', 'e', '.', 'c', 'h', '\0',
   /* "nf9q.com", true */ 'n', 'f', '9', 'q', '.', 'c', 'o', 'm', '\0',
   /* "nfe-elektro.de", true */ 'n', 'f', 'e', '-', 'e', 'l', 'e', 'k', 't', 'r', 'o', '.', 'd', 'e', '\0',
-  /* "nframe.io", true */ 'n', 'f', 'r', 'a', 'm', 'e', '.', 'i', 'o', '\0',
   /* "nfrost.me", true */ 'n', 'f', 'r', 'o', 's', 't', '.', 'm', 'e', '\0',
   /* "nfsec.pl", true */ 'n', 'f', 's', 'e', 'c', '.', 'p', 'l', '\0',
   /* "nfz.moe", true */ 'n', 'f', 'z', '.', 'm', 'o', 'e', '\0',
   /* "ng-firewall.com", true */ 'n', 'g', '-', 'f', 'i', 'r', 'e', 'w', 'a', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "ngasembaru.com", true */ 'n', 'g', 'a', 's', 'e', 'm', 'b', 'a', 'r', 'u', '.', 'c', 'o', 'm', '\0',
   /* "nghe.net", true */ 'n', 'g', 'h', 'e', '.', 'n', 'e', 't', '\0',
   /* "nginxyii.tk", true */ 'n', 'g', 'i', 'n', 'x', 'y', 'i', 'i', '.', 't', 'k', '\0',
   /* "ngndn.jp", true */ 'n', 'g', 'n', 'd', 'n', '.', 'j', 'p', '\0',
@@ -13738,17 +13727,16 @@ static const char kSTSHostTable[] = {
   /* "nowloading.co", true */ 'n', 'o', 'w', 'l', 'o', 'a', 'd', 'i', 'n', 'g', '.', 'c', 'o', '\0',
   /* "noxlogic.nl", true */ 'n', 'o', 'x', 'l', 'o', 'g', 'i', 'c', '.', 'n', 'l', '\0',
   /* "npm.li", true */ 'n', 'p', 'm', '.', 'l', 'i', '\0',
   /* "npmcdn.com", true */ 'n', 'p', 'm', 'c', 'd', 'n', '.', 'c', 'o', 'm', '\0',
   /* "npw.net", true */ 'n', 'p', 'w', '.', 'n', 'e', 't', '\0',
   /* "nq7.pl", true */ 'n', 'q', '7', '.', 'p', 'l', '\0',
   /* "nrd.li", true */ 'n', 'r', 'd', '.', 'l', 'i', '\0',
   /* "nrkn.fr", true */ 'n', 'r', 'k', 'n', '.', 'f', 'r', '\0',
-  /* "nrnjn.xyz", true */ 'n', 'r', 'n', 'j', 'n', '.', 'x', 'y', 'z', '\0',
   /* "nsa.lol", true */ 'n', 's', 'a', '.', 'l', 'o', 'l', '\0',
   /* "nsa.wtf", true */ 'n', 's', 'a', '.', 'w', 't', 'f', '\0',
   /* "nsboston.org", true */ 'n', 's', 'b', 'o', 's', 't', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "nsboutique.com", true */ 'n', 's', 'b', 'o', 'u', 't', 'i', 'q', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "nscnet.jp", true */ 'n', 's', 'c', 'n', 'e', 't', '.', 'j', 'p', '\0',
   /* "nshost.ro", true */ 'n', 's', 'h', 'o', 's', 't', '.', 'r', 'o', '\0',
   /* "nsm.ee", true */ 'n', 's', 'm', '.', 'e', 'e', '\0',
   /* "nso.ie", true */ 'n', 's', 'o', '.', 'i', 'e', '\0',
@@ -13833,16 +13821,17 @@ static const char kSTSHostTable[] = {
   /* "nyloc.de", true */ 'n', 'y', 'l', 'o', 'c', '.', 'd', 'e', '\0',
   /* "nylonfeetporn.com", true */ 'n', 'y', 'l', 'o', 'n', 'f', 'e', 'e', 't', 'p', 'o', 'r', 'n', '.', 'c', 'o', 'm', '\0',
   /* "nymphetomania.net", true */ 'n', 'y', 'm', 'p', 'h', 'e', 't', 'o', 'm', 'a', 'n', 'i', 'a', '.', 'n', 'e', 't', '\0',
   /* "nynex.net", true */ 'n', 'y', 'n', 'e', 'x', '.', 'n', 'e', 't', '\0',
   /* "nyphox.net", true */ 'n', 'y', 'p', 'h', 'o', 'x', '.', 'n', 'e', 't', '\0',
   /* "nyronet.de", false */ 'n', 'y', 'r', 'o', 'n', 'e', 't', '.', 'd', 'e', '\0',
   /* "nyxi.eu", true */ 'n', 'y', 'x', 'i', '.', 'e', 'u', '\0',
   /* "nyyu.tk", true */ 'n', 'y', 'y', 'u', '.', 't', 'k', '\0',
+  /* "nzb.cat", false */ 'n', 'z', 'b', '.', 'c', 'a', 't', '\0',
   /* "nzmk.cz", true */ 'n', 'z', 'm', 'k', '.', 'c', 'z', '\0',
   /* "nzstudy.ac.nz", true */ 'n', 'z', 's', 't', 'u', 'd', 'y', '.', 'a', 'c', '.', 'n', 'z', '\0',
   /* "o-rickroll-y.pw", true */ 'o', '-', 'r', 'i', 'c', 'k', 'r', 'o', 'l', 'l', '-', 'y', '.', 'p', 'w', '\0',
   /* "o2careers.co.uk", true */ 'o', '2', 'c', 'a', 'r', 'e', 'e', 'r', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "o3.wf", true */ 'o', '3', '.', 'w', 'f', '\0',
   /* "o3wallet.com", true */ 'o', '3', 'w', 'a', 'l', 'l', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "o6asan.com", true */ 'o', '6', 'a', 's', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "oaic.gov.au", true */ 'o', 'a', 'i', 'c', '.', 'g', 'o', 'v', '.', 'a', 'u', '\0',
@@ -13993,18 +13982,18 @@ static const char kSTSHostTable[] = {
   /* "ometepeislandinfo.com", true */ 'o', 'm', 'e', 't', 'e', 'p', 'e', 'i', 's', 'l', 'a', 'n', 'd', 'i', 'n', 'f', 'o', '.', 'c', 'o', 'm', '\0',
   /* "omf.link", true */ 'o', 'm', 'f', '.', 'l', 'i', 'n', 'k', '\0',
   /* "omi-news.fr", true */ 'o', 'm', 'i', '-', 'n', 'e', 'w', 's', '.', 'f', 'r', '\0',
   /* "omifind.com", true */ 'o', 'm', 'i', 'f', 'i', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "omitech.co.uk", true */ 'o', 'm', 'i', 't', 'e', 'c', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "ommahpost.com", true */ 'o', 'm', 'm', 'a', 'h', 'p', 'o', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "omniasl.com", true */ 'o', 'm', 'n', 'i', 'a', 's', 'l', '.', 'c', 'o', 'm', '\0',
   /* "omniatv.com", true */ 'o', 'm', 'n', 'i', 'a', 't', 'v', '.', 'c', 'o', 'm', '\0',
-  /* "omnienviro.com", true */ 'o', 'm', 'n', 'i', 'e', 'n', 'v', 'i', 'r', 'o', '.', 'c', 'o', 'm', '\0',
-  /* "omnienviro.com.au", true */ 'o', 'm', 'n', 'i', 'e', 'n', 'v', 'i', 'r', 'o', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
+  /* "omnienviro.com", false */ 'o', 'm', 'n', 'i', 'e', 'n', 'v', 'i', 'r', 'o', '.', 'c', 'o', 'm', '\0',
+  /* "omnienviro.com.au", false */ 'o', 'm', 'n', 'i', 'e', 'n', 'v', 'i', 'r', 'o', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "omniverse.ru", true */ 'o', 'm', 'n', 'i', 'v', 'e', 'r', 's', 'e', '.', 'r', 'u', '\0',
   /* "omorashi.org", true */ 'o', 'm', 'o', 'r', 'a', 's', 'h', 'i', '.', 'o', 'r', 'g', '\0',
   /* "omsdieppe.fr", true */ 'o', 'm', 's', 'd', 'i', 'e', 'p', 'p', 'e', '.', 'f', 'r', '\0',
   /* "onaboat.se", true */ 'o', 'n', 'a', 'b', 'o', 'a', 't', '.', 's', 'e', '\0',
   /* "onarto.com", true */ 'o', 'n', 'a', 'r', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "oncf.asso.fr", true */ 'o', 'n', 'c', 'f', '.', 'a', 's', 's', 'o', '.', 'f', 'r', '\0',
   /* "oncodedesign.com", true */ 'o', 'n', 'c', 'o', 'd', 'e', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0',
   /* "ondrej.org", true */ 'o', 'n', 'd', 'r', 'e', 'j', '.', 'o', 'r', 'g', '\0',
@@ -14160,17 +14149,16 @@ static const char kSTSHostTable[] = {
   /* "orangenbaum.at", true */ 'o', 'r', 'a', 'n', 'g', 'e', 'n', 'b', 'a', 'u', 'm', '.', 'a', 't', '\0',
   /* "orangetravel.eu", true */ 'o', 'r', 'a', 'n', 'g', 'e', 't', 'r', 'a', 'v', 'e', 'l', '.', 'e', 'u', '\0',
   /* "orangutan-appeal.org.uk", true */ 'o', 'r', 'a', 'n', 'g', 'u', 't', 'a', 'n', '-', 'a', 'p', 'p', 'e', 'a', 'l', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "orbitsoft.com", true */ 'o', 'r', 'b', 'i', 't', 's', 'o', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "orcahq.com", true */ 'o', 'r', 'c', 'a', 'h', 'q', '.', 'c', 'o', 'm', '\0',
   /* "orcamoney.com", true */ 'o', 'r', 'c', 'a', 'm', 'o', 'n', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "orchidsforum.com", true */ 'o', 'r', 'c', 'h', 'i', 'd', 's', 'f', 'o', 'r', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "orchidspaper.com", true */ 'o', 'r', 'c', 'h', 'i', 'd', 's', 'p', 'a', 'p', 'e', 'r', '.', 'c', 'o', 'm', '\0',
-  /* "orderlounge.de", true */ 'o', 'r', 'd', 'e', 'r', 'l', 'o', 'u', 'n', 'g', 'e', '.', 'd', 'e', '\0',
   /* "ordernow.at", true */ 'o', 'r', 'd', 'e', 'r', 'n', 'o', 'w', '.', 'a', 't', '\0',
   /* "orderswift.com", true */ 'o', 'r', 'd', 'e', 'r', 's', 'w', 'i', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "ordr.mobi", true */ 'o', 'r', 'd', 'r', '.', 'm', 'o', 'b', 'i', '\0',
   /* "oref-idf.com", true */ 'o', 'r', 'e', 'f', '-', 'i', 'd', 'f', '.', 'c', 'o', 'm', '\0',
   /* "oref-idf.net", true */ 'o', 'r', 'e', 'f', '-', 'i', 'd', 'f', '.', 'n', 'e', 't', '\0',
   /* "oref-idf.org", true */ 'o', 'r', 'e', 'f', '-', 'i', 'd', 'f', '.', 'o', 'r', 'g', '\0',
   /* "oreka.online", true */ 'o', 'r', 'e', 'k', 'a', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0',
   /* "oreshinya.xyz", true */ 'o', 'r', 'e', 's', 'h', 'i', 'n', 'y', 'a', '.', 'x', 'y', 'z', '\0',
@@ -14279,21 +14267,24 @@ static const char kSTSHostTable[] = {
   /* "ownspec.com", true */ 'o', 'w', 'n', 's', 'p', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "oxanababy.com", true */ 'o', 'x', 'a', 'n', 'a', 'b', 'a', 'b', 'y', '.', 'c', 'o', 'm', '\0',
   /* "oxelie.com", true */ 'o', 'x', 'e', 'l', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "oxygaming.com", true */ 'o', 'x', 'y', 'g', 'a', 'm', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "oxymc.com", true */ 'o', 'x', 'y', 'm', 'c', '.', 'c', 'o', 'm', '\0',
   /* "oxynux.xyz", true */ 'o', 'x', 'y', 'n', 'u', 'x', '.', 'x', 'y', 'z', '\0',
   /* "oxytocin.org", true */ 'o', 'x', 'y', 't', 'o', 'c', 'i', 'n', '.', 'o', 'r', 'g', '\0',
   /* "oznamovacipovinnost.cz", true */ 'o', 'z', 'n', 'a', 'm', 'o', 'v', 'a', 'c', 'i', 'p', 'o', 'v', 'i', 'n', 'n', 'o', 's', 't', '.', 'c', 'z', '\0',
+  /* "ozonitron.com", true */ 'o', 'z', 'o', 'n', 'i', 't', 'r', 'o', 'n', '.', 'c', 'o', 'm', '\0',
+  /* "ozonitron.de", true */ 'o', 'z', 'o', 'n', 'i', 't', 'r', 'o', 'n', '.', 'd', 'e', '\0',
+  /* "ozonitron.eu", true */ 'o', 'z', 'o', 'n', 'i', 't', 'r', 'o', 'n', '.', 'e', 'u', '\0',
+  /* "ozonytron.com", true */ 'o', 'z', 'o', 'n', 'y', 't', 'r', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "ozonytron.de", true */ 'o', 'z', 'o', 'n', 'y', 't', 'r', 'o', 'n', '.', 'd', 'e', '\0',
   /* "ozonytron.eu", true */ 'o', 'z', 'o', 'n', 'y', 't', 'r', 'o', 'n', '.', 'e', 'u', '\0',
   /* "ozoz.cc", true */ 'o', 'z', 'o', 'z', '.', 'c', 'c', '\0',
   /* "ozvolvo.org", true */ 'o', 'z', 'v', 'o', 'l', 'v', 'o', '.', 'o', 'r', 'g', '\0',
-  /* "p-pc.de", true */ 'p', '-', 'p', 'c', '.', 'd', 'e', '\0',
   /* "p-rickroll-o.pw", true */ 'p', '-', 'r', 'i', 'c', 'k', 'r', 'o', 'l', 'l', '-', 'o', '.', 'p', 'w', '\0',
   /* "p-s-b.com", true */ 'p', '-', 's', '-', 'b', '.', 'c', 'o', 'm', '\0',
   /* "p1984.nl", false */ 'p', '1', '9', '8', '4', '.', 'n', 'l', '\0',
   /* "p3ter.fr", true */ 'p', '3', 't', 'e', 'r', '.', 'f', 'r', '\0',
   /* "pa-w.de", true */ 'p', 'a', '-', 'w', '.', 'd', 'e', '\0',
   /* "pace.car", true */ 'p', 'a', 'c', 'e', '.', 'c', 'a', 'r', '\0',
   /* "pacifictilkin-occasions.be", true */ 'p', 'a', 'c', 'i', 'f', 'i', 'c', 't', 'i', 'l', 'k', 'i', 'n', '-', 'o', 'c', 'c', 'a', 's', 'i', 'o', 'n', 's', '.', 'b', 'e', '\0',
   /* "packagist.org", false */ 'p', 'a', 'c', 'k', 'a', 'g', 'i', 's', 't', '.', 'o', 'r', 'g', '\0',
@@ -14547,17 +14538,16 @@ static const char kSTSHostTable[] = {
   /* "pdfresizer.com", true */ 'p', 'd', 'f', 'r', 'e', 's', 'i', 'z', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "pdthings.net", true */ 'p', 'd', 't', 'h', 'i', 'n', 'g', 's', '.', 'n', 'e', 't', '\0',
   /* "pe-bank.co.jp", true */ 'p', 'e', '-', 'b', 'a', 'n', 'k', '.', 'c', 'o', '.', 'j', 'p', '\0',
   /* "pe-kyousai.jp", true */ 'p', 'e', '-', 'k', 'y', 'o', 'u', 's', 'a', 'i', '.', 'j', 'p', '\0',
   /* "pe.search.yahoo.com", false */ 'p', 'e', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "pear2pear.de", true */ 'p', 'e', 'a', 'r', '2', 'p', 'e', 'a', 'r', '.', 'd', 'e', '\0',
   /* "pearbloom.com", true */ 'p', 'e', 'a', 'r', 'b', 'l', 'o', 'o', 'm', '.', 'c', 'o', 'm', '\0',
   /* "pebbles.net.in", true */ 'p', 'e', 'b', 'b', 'l', 'e', 's', '.', 'n', 'e', 't', '.', 'i', 'n', '\0',
-  /* "pebblesdemo.com", true */ 'p', 'e', 'b', 'b', 'l', 'e', 's', 'd', 'e', 'm', 'o', '.', 'c', 'o', 'm', '\0',
   /* "pecker-johnson.com", true */ 'p', 'e', 'c', 'k', 'e', 'r', '-', 'j', 'o', 'h', 'n', 's', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "pedicureduiven.nl", true */ 'p', 'e', 'd', 'i', 'c', 'u', 'r', 'e', 'd', 'u', 'i', 'v', 'e', 'n', '.', 'n', 'l', '\0',
   /* "pedrosluiter.nl", true */ 'p', 'e', 'd', 'r', 'o', 's', 'l', 'u', 'i', 't', 'e', 'r', '.', 'n', 'l', '\0',
   /* "pedroventura.com", false */ 'p', 'e', 'd', 'r', 'o', 'v', 'e', 'n', 't', 'u', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "peekier.com", true */ 'p', 'e', 'e', 'k', 'i', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "peep.gq", true */ 'p', 'e', 'e', 'p', '.', 'g', 'q', '\0',
   /* "peercraft.at", true */ 'p', 'e', 'e', 'r', 'c', 'r', 'a', 'f', 't', '.', 'a', 't', '\0',
   /* "peercraft.be", true */ 'p', 'e', 'e', 'r', 'c', 'r', 'a', 'f', 't', '.', 'b', 'e', '\0',
@@ -14747,16 +14737,17 @@ static const char kSTSHostTable[] = {
   /* "photographyforchange.com", true */ 'p', 'h', 'o', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', 'f', 'o', 'r', 'c', 'h', 'a', 'n', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "photomodelcasting.com", true */ 'p', 'h', 'o', 't', 'o', 'm', 'o', 'd', 'e', 'l', 'c', 'a', 's', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "photon.sh", true */ 'p', 'h', 'o', 't', 'o', 'n', '.', 's', 'h', '\0',
   /* "phototag.org", true */ 'p', 'h', 'o', 't', 'o', 't', 'a', 'g', '.', 'o', 'r', 'g', '\0',
   /* "phototravel.uk", true */ 'p', 'h', 'o', 't', 'o', 't', 'r', 'a', 'v', 'e', 'l', '.', 'u', 'k', '\0',
   /* "phoxmeh.com", true */ 'p', 'h', 'o', 'x', 'm', 'e', 'h', '.', 'c', 'o', 'm', '\0',
   /* "php-bach.org", true */ 'p', 'h', 'p', '-', 'b', 'a', 'c', 'h', '.', 'o', 'r', 'g', '\0',
   /* "php-tuning.de", true */ 'p', 'h', 'p', '-', 't', 'u', 'n', 'i', 'n', 'g', '.', 'd', 'e', '\0',
+  /* "phparcade.com", true */ 'p', 'h', 'p', 'a', 'r', 'c', 'a', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "phpbbchinese.com", true */ 'p', 'h', 'p', 'b', 'b', 'c', 'h', 'i', 'n', 'e', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "phpdistribution.com", true */ 'p', 'h', 'p', 'd', 'i', 's', 't', 'r', 'i', 'b', 'u', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "phpdorset.co.uk", true */ 'p', 'h', 'p', 'd', 'o', 'r', 's', 'e', 't', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "phperformances.fr", true */ 'p', 'h', 'p', 'e', 'r', 'f', 'o', 'r', 'm', 'a', 'n', 'c', 'e', 's', '.', 'f', 'r', '\0',
   /* "phpfashion.com", true */ 'p', 'h', 'p', 'f', 'a', 's', 'h', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "phpkari.cz", true */ 'p', 'h', 'p', 'k', 'a', 'r', 'i', '.', 'c', 'z', '\0',
   /* "phpliteadmin.org", true */ 'p', 'h', 'p', 'l', 'i', 't', 'e', 'a', 'd', 'm', 'i', 'n', '.', 'o', 'r', 'g', '\0',
   /* "phpmyadmin.net", true */ 'p', 'h', 'p', 'm', 'y', 'a', 'd', 'm', 'i', 'n', '.', 'n', 'e', 't', '\0',
@@ -14926,17 +14917,16 @@ static const char kSTSHostTable[] = {
   /* "play.cash", true */ 'p', 'l', 'a', 'y', '.', 'c', 'a', 's', 'h', '\0',
   /* "play.google.com", true */ 'p', 'l', 'a', 'y', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "playanka.com", true */ 'p', 'l', 'a', 'y', 'a', 'n', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "playdreamcraft.com.br", true */ 'p', 'l', 'a', 'y', 'd', 'r', 'e', 'a', 'm', 'c', 'r', 'a', 'f', 't', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "playform.cloud", true */ 'p', 'l', 'a', 'y', 'f', 'o', 'r', 'm', '.', 'c', 'l', 'o', 'u', 'd', '\0',
   /* "playhappywheelsunblocked.com", true */ 'p', 'l', 'a', 'y', 'h', 'a', 'p', 'p', 'y', 'w', 'h', 'e', 'e', 'l', 's', 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "playkh.com", true */ 'p', 'l', 'a', 'y', 'k', 'h', '.', 'c', 'o', 'm', '\0',
   /* "playmfe.com", true */ 'p', 'l', 'a', 'y', 'm', 'f', 'e', '.', 'c', 'o', 'm', '\0',
-  /* "playmyplay.com", true */ 'p', 'l', 'a', 'y', 'm', 'y', 'p', 'l', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "playpirates.com", true */ 'p', 'l', 'a', 'y', 'p', 'i', 'r', 'a', 't', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "playsnake.org", true */ 'p', 'l', 'a', 'y', 's', 'n', 'a', 'k', 'e', '.', 'o', 'r', 'g', '\0',
   /* "playsoundevents.be", true */ 'p', 'l', 'a', 'y', 's', 'o', 'u', 'n', 'd', 'e', 'v', 'e', 'n', 't', 's', '.', 'b', 'e', '\0',
   /* "playsource.co", true */ 'p', 'l', 'a', 'y', 's', 'o', 'u', 'r', 'c', 'e', '.', 'c', 'o', '\0',
   /* "playsprout.industries", false */ 'p', 'l', 'a', 'y', 's', 'p', 'r', 'o', 'u', 't', '.', 'i', 'n', 'd', 'u', 's', 't', 'r', 'i', 'e', 's', '\0',
   /* "playtictactoe.org", true */ 'p', 'l', 'a', 'y', 't', 'i', 'c', 't', 'a', 'c', 't', 'o', 'e', '.', 'o', 'r', 'g', '\0',
   /* "pldx.org", true */ 'p', 'l', 'd', 'x', '.', 'o', 'r', 'g', '\0',
   /* "please-deny.me", true */ 'p', 'l', 'e', 'a', 's', 'e', '-', 'd', 'e', 'n', 'y', '.', 'm', 'e', '\0',
@@ -15060,27 +15050,27 @@ static const char kSTSHostTable[] = {
   /* "poppetsphere.de", true */ 'p', 'o', 'p', 'p', 'e', 't', 's', 'p', 'h', 'e', 'r', 'e', '.', 'd', 'e', '\0',
   /* "population-ethics.com", true */ 'p', 'o', 'p', 'u', 'l', 'a', 't', 'i', 'o', 'n', '-', 'e', 't', 'h', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "poquvi.net", true */ 'p', 'o', 'q', 'u', 'v', 'i', '.', 'n', 'e', 't', '\0',
   /* "porg.es", true */ 'p', 'o', 'r', 'g', '.', 'e', 's', '\0',
   /* "poris.web.id", false */ 'p', 'o', 'r', 'i', 's', '.', 'w', 'e', 'b', '.', 'i', 'd', '\0',
   /* "pork.org.uk", true */ 'p', 'o', 'r', 'k', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "porn77.info", true */ 'p', 'o', 'r', 'n', '7', '7', '.', 'i', 'n', 'f', 'o', '\0',
   /* "pornbase.info", true */ 'p', 'o', 'r', 'n', 'b', 'a', 's', 'e', '.', 'i', 'n', 'f', 'o', '\0',
-  /* "pornbay.org", true */ 'p', 'o', 'r', 'n', 'b', 'a', 'y', '.', 'o', 'r', 'g', '\0',
   /* "pornblog.org", true */ 'p', 'o', 'r', 'n', 'b', 'l', 'o', 'g', '.', 'o', 'r', 'g', '\0',
   /* "porschen.fr", true */ 'p', 'o', 'r', 's', 'c', 'h', 'e', 'n', '.', 'f', 'r', '\0',
   /* "port443.hamburg", true */ 'p', 'o', 'r', 't', '4', '4', '3', '.', 'h', 'a', 'm', 'b', 'u', 'r', 'g', '\0',
   /* "port443.se", true */ 'p', 'o', 'r', 't', '4', '4', '3', '.', 's', 'e', '\0',
   /* "port80.hamburg", true */ 'p', 'o', 'r', 't', '8', '0', '.', 'h', 'a', 'm', 'b', 'u', 'r', 'g', '\0',
   /* "portal.tirol.gv.at", true */ 'p', 'o', 'r', 't', 'a', 'l', '.', 't', 'i', 'r', 'o', 'l', '.', 'g', 'v', '.', 'a', 't', '\0',
   /* "portalcentric.net", true */ 'p', 'o', 'r', 't', 'a', 'l', 'c', 'e', 'n', 't', 'r', 'i', 'c', '.', 'n', 'e', 't', '\0',
   /* "portalisapres.cl", true */ 'p', 'o', 'r', 't', 'a', 'l', 'i', 's', 'a', 'p', 'r', 'e', 's', '.', 'c', 'l', '\0',
   /* "portalm.tk", true */ 'p', 'o', 'r', 't', 'a', 'l', 'm', '.', 't', 'k', '\0',
   /* "portaluniversalista.org", false */ 'p', 'o', 'r', 't', 'a', 'l', 'u', 'n', 'i', 'v', 'e', 'r', 's', 'a', 'l', 'i', 's', 't', 'a', '.', 'o', 'r', 'g', '\0',
+  /* "portalzine.de", true */ 'p', 'o', 'r', 't', 'a', 'l', 'z', 'i', 'n', 'e', '.', 'd', 'e', '\0',
   /* "portercup.com", true */ 'p', 'o', 'r', 't', 'e', 'r', 'c', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "portofacil.com", true */ 'p', 'o', 'r', 't', 'o', 'f', 'a', 'c', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "portofrotterdam.com", true */ 'p', 'o', 'r', 't', 'o', 'f', 'r', 'o', 't', 't', 'e', 'r', 'd', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "portosonline.pl", true */ 'p', 'o', 'r', 't', 'o', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'p', 'l', '\0',
   /* "portraitsystem.biz", true */ 'p', 'o', 'r', 't', 'r', 'a', 'i', 't', 's', 'y', 's', 't', 'e', 'm', '.', 'b', 'i', 'z', '\0',
   /* "portugalsko.net", true */ 'p', 'o', 'r', 't', 'u', 'g', 'a', 'l', 's', 'k', 'o', '.', 'n', 'e', 't', '\0',
   /* "portvaletickets.com", true */ 'p', 'o', 'r', 't', 'v', 'a', 'l', 'e', 't', 'i', 'c', 'k', 'e', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "porybox.com", true */ 'p', 'o', 'r', 'y', 'b', 'o', 'x', '.', 'c', 'o', 'm', '\0',
@@ -15299,16 +15289,17 @@ static const char kSTSHostTable[] = {
   /* "promoscuola.net", true */ 'p', 'r', 'o', 'm', 'o', 's', 'c', 'u', 'o', 'l', 'a', '.', 'n', 'e', 't', '\0',
   /* "promotiongeeks.com", false */ 'p', 'r', 'o', 'm', 'o', 't', 'i', 'o', 'n', 'g', 'e', 'e', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "proobec.cz", true */ 'p', 'r', 'o', 'o', 'b', 'e', 'c', '.', 'c', 'z', '\0',
   /* "proofwiki.org", true */ 'p', 'r', 'o', 'o', 'f', 'w', 'i', 'k', 'i', '.', 'o', 'r', 'g', '\0',
   /* "proos.nl", true */ 'p', 'r', 'o', 'o', 's', '.', 'n', 'l', '\0',
   /* "propagandism.org", true */ 'p', 'r', 'o', 'p', 'a', 'g', 'a', 'n', 'd', 'i', 's', 'm', '.', 'o', 'r', 'g', '\0',
   /* "propagationtools.com", true */ 'p', 'r', 'o', 'p', 'a', 'g', 'a', 't', 'i', 'o', 'n', 't', 'o', 'o', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "propershave.com", true */ 'p', 'r', 'o', 'p', 'e', 'r', 's', 'h', 'a', 'v', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "property-catalogue.eu", true */ 'p', 'r', 'o', 'p', 'e', 'r', 't', 'y', '-', 'c', 'a', 't', 'a', 'l', 'o', 'g', 'u', 'e', '.', 'e', 'u', '\0',
   /* "propertygroup.pl", true */ 'p', 'r', 'o', 'p', 'e', 'r', 't', 'y', 'g', 'r', 'o', 'u', 'p', '.', 'p', 'l', '\0',
   /* "propertyone.mk", true */ 'p', 'r', 'o', 'p', 'e', 'r', 't', 'y', 'o', 'n', 'e', '.', 'm', 'k', '\0',
   /* "propipesystem.com", true */ 'p', 'r', 'o', 'p', 'i', 'p', 'e', 's', 'y', 's', 't', 'e', 'm', '.', 'c', 'o', 'm', '\0',
   /* "proposalonline.com", true */ 'p', 'r', 'o', 'p', 'o', 's', 'a', 'l', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "propr.no", true */ 'p', 'r', 'o', 'p', 'r', '.', 'n', 'o', '\0',
   /* "proslimdiets.com", true */ 'p', 'r', 'o', 's', 'l', 'i', 'm', 'd', 'i', 'e', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "prospanek.cz", true */ 'p', 'r', 'o', 's', 'p', 'a', 'n', 'e', 'k', '.', 'c', 'z', '\0',
   /* "prospo.co", true */ 'p', 'r', 'o', 's', 'p', 'o', '.', 'c', 'o', '\0',
@@ -15934,16 +15925,17 @@ static const char kSTSHostTable[] = {
   /* "request-trent.com", true */ 'r', 'e', 'q', 'u', 'e', 's', 't', '-', 't', 'r', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "resc.la", true */ 'r', 'e', 's', 'c', '.', 'l', 'a', '\0',
   /* "rescms-secure.com", true */ 'r', 'e', 's', 'c', 'm', 's', '-', 's', 'e', 'c', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "research.md", true */ 'r', 'e', 's', 'e', 'a', 'r', 'c', 'h', '.', 'm', 'd', '\0',
   /* "researchgate.net", true */ 'r', 'e', 's', 'e', 'a', 'r', 'c', 'h', 'g', 'a', 't', 'e', '.', 'n', 'e', 't', '\0',
   /* "reservar-un-hotel.com", true */ 'r', 'e', 's', 'e', 'r', 'v', 'a', 'r', '-', 'u', 'n', '-', 'h', 'o', 't', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "residence-simoncelli.com", true */ 'r', 'e', 's', 'i', 'd', 'e', 'n', 'c', 'e', '-', 's', 'i', 'm', 'o', 'n', 'c', 'e', 'l', 'l', 'i', '.', 'c', 'o', 'm', '\0',
   /* "resist.ca", true */ 'r', 'e', 's', 'i', 's', 't', '.', 'c', 'a', '\0',
+  /* "resl20.servehttp.com", true */ 'r', 'e', 's', 'l', '2', '0', '.', 's', 'e', 'r', 'v', 'e', 'h', 't', 't', 'p', '.', 'c', 'o', 'm', '\0',
   /* "resortohshima.com", true */ 'r', 'e', 's', 'o', 'r', 't', 'o', 'h', 's', 'h', 'i', 'm', 'a', '.', 'c', 'o', 'm', '\0',
   /* "resources.flowfinity.com", true */ 'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', '.', 'f', 'l', 'o', 'w', 'f', 'i', 'n', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "respectmyprivacy.eu", true */ 'r', 'e', 's', 'p', 'e', 'c', 't', 'm', 'y', 'p', 'r', 'i', 'v', 'a', 'c', 'y', '.', 'e', 'u', '\0',
   /* "respectmyprivacy.net", true */ 'r', 'e', 's', 'p', 'e', 'c', 't', 'm', 'y', 'p', 'r', 'i', 'v', 'a', 'c', 'y', '.', 'n', 'e', 't', '\0',
   /* "respectmyprivacy.nl", true */ 'r', 'e', 's', 'p', 'e', 'c', 't', 'm', 'y', 'p', 'r', 'i', 'v', 'a', 'c', 'y', '.', 'n', 'l', '\0',
   /* "respon.jp", true */ 'r', 'e', 's', 'p', 'o', 'n', '.', 'j', 'p', '\0',
   /* "responer.com", true */ 'r', 'e', 's', 'p', 'o', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "responsibledisclosure.nl", false */ 'r', 'e', 's', 'p', 'o', 'n', 's', 'i', 'b', 'l', 'e', 'd', 'i', 's', 'c', 'l', 'o', 's', 'u', 'r', 'e', '.', 'n', 'l', '\0',
@@ -15973,24 +15965,24 @@ static const char kSTSHostTable[] = {
   /* "reulitz.de", false */ 'r', 'e', 'u', 'l', 'i', 't', 'z', '.', 'd', 'e', '\0',
   /* "reussirsavie.info", true */ 'r', 'e', 'u', 's', 's', 'i', 'r', 's', 'a', 'v', 'i', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "reuter-shop.com", true */ 'r', 'e', 'u', 't', 'e', 'r', '-', 's', 'h', 'o', 'p', '.', 'c', 'o', 'm', '\0',
   /* "reuter.de", true */ 'r', 'e', 'u', 't', 'e', 'r', '.', 'd', 'e', '\0',
   /* "revamed.com", false */ 'r', 'e', 'v', 'a', 'm', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "revelaciones.tv", true */ 'r', 'e', 'v', 'e', 'l', 'a', 'c', 'i', 'o', 'n', 'e', 's', '.', 't', 'v', '\0',
   /* "revensoftware.com", true */ 'r', 'e', 'v', 'e', 'n', 's', 'o', 'f', 't', 'w', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "review.info", true */ 'r', 'e', 'v', 'i', 'e', 'w', '.', 'i', 'n', 'f', 'o', '\0',
-  /* "reviewjust.com", true */ 'r', 'e', 'v', 'i', 'e', 'w', 'j', 'u', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "revivalinhisword.com", true */ 'r', 'e', 'v', 'i', 'v', 'a', 'l', 'i', 'n', 'h', 'i', 's', 'w', 'o', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "revivingtheredeemed.org", true */ 'r', 'e', 'v', 'i', 'v', 'i', 'n', 'g', 't', 'h', 'e', 'r', 'e', 'd', 'e', 'e', 'm', 'e', 'd', '.', 'o', 'r', 'g', '\0',
   /* "revlect.com", true */ 'r', 'e', 'v', 'l', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "revolt.tv", true */ 'r', 'e', 'v', 'o', 'l', 't', '.', 't', 'v', '\0',
   /* "revthefox.co.uk", true */ 'r', 'e', 'v', 't', 'h', 'e', 'f', 'o', 'x', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "rewardingexcellence.com", true */ 'r', 'e', 'w', 'a', 'r', 'd', 'i', 'n', 'g', 'e', 'x', 'c', 'e', 'l', 'l', 'e', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "rewrite3.com", true */ 'r', 'e', 'w', 'r', 'i', 't', 'e', '3', '.', 'c', 'o', 'm', '\0',
+  /* "rex.st", true */ 'r', 'e', 'x', '.', 's', 't', '\0',
   /* "rex.tc", true */ 'r', 'e', 'x', '.', 't', 'c', '\0',
   /* "reykjavik.guide", true */ 'r', 'e', 'y', 'k', 'j', 'a', 'v', 'i', 'k', '.', 'g', 'u', 'i', 'd', 'e', '\0',
   /* "rezept-planer.de", true */ 'r', 'e', 'z', 'e', 'p', 't', '-', 'p', 'l', 'a', 'n', 'e', 'r', '.', 'd', 'e', '\0',
   /* "rezexpert.com", true */ 'r', 'e', 'z', 'e', 'x', 'p', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "rezosup.net", true */ 'r', 'e', 'z', 'o', 's', 'u', 'p', '.', 'n', 'e', 't', '\0',
   /* "rezosup.org", true */ 'r', 'e', 'z', 'o', 's', 'u', 'p', '.', 'o', 'r', 'g', '\0',
   /* "rezultant.ru", true */ 'r', 'e', 'z', 'u', 'l', 't', 'a', 'n', 't', '.', 'r', 'u', '\0',
   /* "rezun.cloud", true */ 'r', 'e', 'z', 'u', 'n', '.', 'c', 'l', 'o', 'u', 'd', '\0',
@@ -16021,17 +16013,16 @@ static const char kSTSHostTable[] = {
   /* "riceglue.com", true */ 'r', 'i', 'c', 'e', 'g', 'l', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "richardb.me", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'b', '.', 'm', 'e', '\0',
   /* "richardhering.de", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'h', 'e', 'r', 'i', 'n', 'g', '.', 'd', 'e', '\0',
   /* "richardjgreen.net", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'j', 'g', 'r', 'e', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "richardlangworth.com", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'l', 'a', 'n', 'g', 'w', 'o', 'r', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "richardlugten.nl", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'l', 'u', 'g', 't', 'e', 'n', '.', 'n', 'l', '\0',
   /* "richardrblocker.net", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'r', 'b', 'l', 'o', 'c', 'k', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "richardwarrender.com", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'w', 'a', 'r', 'r', 'e', 'n', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
-  /* "richmtdriver.com", true */ 'r', 'i', 'c', 'h', 'm', 't', 'd', 'r', 'i', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "richonrails.com", true */ 'r', 'i', 'c', 'h', 'o', 'n', 'r', 'a', 'i', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "ricki-z.com", true */ 'r', 'i', 'c', 'k', 'i', '-', 'z', '.', 'c', 'o', 'm', '\0',
   /* "rickrongen.nl", true */ 'r', 'i', 'c', 'k', 'r', 'o', 'n', 'g', 'e', 'n', '.', 'n', 'l', '\0',
   /* "rickweijers.nl", true */ 'r', 'i', 'c', 'k', 'w', 'e', 'i', 'j', 'e', 'r', 's', '.', 'n', 'l', '\0',
   /* "rickyromero.com", true */ 'r', 'i', 'c', 'k', 'y', 'r', 'o', 'm', 'e', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "rico-brase.de", true */ 'r', 'i', 'c', 'o', '-', 'b', 'r', 'a', 's', 'e', '.', 'd', 'e', '\0',
   /* "ricochet.im", true */ 'r', 'i', 'c', 'o', 'c', 'h', 'e', 't', '.', 'i', 'm', '\0',
   /* "ricozienke.de", true */ 'r', 'i', 'c', 'o', 'z', 'i', 'e', 'n', 'k', 'e', '.', 'd', 'e', '\0',
@@ -16501,16 +16492,17 @@ static const char kSTSHostTable[] = {
   /* "samwilberforce.com", true */ 's', 'a', 'm', 'w', 'i', 'l', 'b', 'e', 'r', 'f', 'o', 'r', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "samwu.tw", false */ 's', 'a', 'm', 'w', 'u', '.', 't', 'w', '\0',
   /* "sanael.net", true */ 's', 'a', 'n', 'a', 'e', 'l', '.', 'n', 'e', 't', '\0',
   /* "sanandreasstories.com", true */ 's', 'a', 'n', 'a', 'n', 'd', 'r', 'e', 'a', 's', 's', 't', 'o', 'r', 'i', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "sanasport.cz", true */ 's', 'a', 'n', 'a', 's', 'p', 'o', 'r', 't', '.', 'c', 'z', '\0',
   /* "sanasport.sk", true */ 's', 'a', 'n', 'a', 's', 'p', 'o', 'r', 't', '.', 's', 'k', '\0',
   /* "sanatfilan.com", false */ 's', 'a', 'n', 'a', 't', 'f', 'i', 'l', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "sanatorionosti.com.ar", true */ 's', 'a', 'n', 'a', 't', 'o', 'r', 'i', 'o', 'n', 'o', 's', 't', 'i', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
+  /* "sanchez.adv.br", true */ 's', 'a', 'n', 'c', 'h', 'e', 'z', '.', 'a', 'd', 'v', '.', 'b', 'r', '\0',
   /* "sand-islets.de", true */ 's', 'a', 'n', 'd', '-', 'i', 's', 'l', 'e', 't', 's', '.', 'd', 'e', '\0',
   /* "sandalj.com", true */ 's', 'a', 'n', 'd', 'a', 'l', 'j', '.', 'c', 'o', 'm', '\0',
   /* "sandbagexpress.com", true */ 's', 'a', 'n', 'd', 'b', 'a', 'g', 'e', 'x', 'p', 'r', 'e', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "sandbox.mydigipass.com", false */ 's', 'a', 'n', 'd', 'b', 'o', 'x', '.', 'm', 'y', 'd', 'i', 'g', 'i', 'p', 'a', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "sanderdorigo.nl", true */ 's', 'a', 'n', 'd', 'e', 'r', 'd', 'o', 'r', 'i', 'g', 'o', '.', 'n', 'l', '\0',
   /* "sanderknape.com", true */ 's', 'a', 'n', 'd', 'e', 'r', 'k', 'n', 'a', 'p', 'e', '.', 'c', 'o', 'm', '\0',
   /* "sanderkoenders.eu", true */ 's', 'a', 'n', 'd', 'e', 'r', 'k', 'o', 'e', 'n', 'd', 'e', 'r', 's', '.', 'e', 'u', '\0',
   /* "sanderkoenders.nl", true */ 's', 'a', 'n', 'd', 'e', 'r', 'k', 'o', 'e', 'n', 'd', 'e', 'r', 's', '.', 'n', 'l', '\0',
@@ -16658,17 +16650,16 @@ static const char kSTSHostTable[] = {
   /* "schlarp.com", true */ 's', 'c', 'h', 'l', 'a', 'r', 'p', '.', 'c', 'o', 'm', '\0',
   /* "schlechtewitze.com", true */ 's', 'c', 'h', 'l', 'e', 'c', 'h', 't', 'e', 'w', 'i', 't', 'z', 'e', '.', 'c', 'o', 'm', '\0',
   /* "schlossereieder.at", true */ 's', 'c', 'h', 'l', 'o', 's', 's', 'e', 'r', 'e', 'i', 'e', 'd', 'e', 'r', '.', 'a', 't', '\0',
   /* "schmelzle.io", true */ 's', 'c', 'h', 'm', 'e', 'l', 'z', 'l', 'e', '.', 'i', 'o', '\0',
   /* "schmidthomes.com", true */ 's', 'c', 'h', 'm', 'i', 'd', 't', 'h', 'o', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "schmitt-max.com", true */ 's', 'c', 'h', 'm', 'i', 't', 't', '-', 'm', 'a', 'x', '.', 'c', 'o', 'm', '\0',
   /* "schmitt.ovh", true */ 's', 'c', 'h', 'm', 'i', 't', 't', '.', 'o', 'v', 'h', '\0',
   /* "schmitt.ws", true */ 's', 'c', 'h', 'm', 'i', 't', 't', '.', 'w', 's', '\0',
-  /* "schmitz.link", true */ 's', 'c', 'h', 'm', 'i', 't', 'z', '.', 'l', 'i', 'n', 'k', '\0',
   /* "schnapke.name", true */ 's', 'c', 'h', 'n', 'a', 'p', 'k', 'e', '.', 'n', 'a', 'm', 'e', '\0',
   /* "schnegg.name", true */ 's', 'c', 'h', 'n', 'e', 'g', 'g', '.', 'n', 'a', 'm', 'e', '\0',
   /* "schneids.me", true */ 's', 'c', 'h', 'n', 'e', 'i', 'd', 's', '.', 'm', 'e', '\0',
   /* "schnellno.de", true */ 's', 'c', 'h', 'n', 'e', 'l', 'l', 'n', 'o', '.', 'd', 'e', '\0',
   /* "schnellsuche.de", true */ 's', 'c', 'h', 'n', 'e', 'l', 'l', 's', 'u', 'c', 'h', 'e', '.', 'd', 'e', '\0',
   /* "schnouki.net", true */ 's', 'c', 'h', 'n', 'o', 'u', 'k', 'i', '.', 'n', 'e', 't', '\0',
   /* "schnyder-werbung.ch", true */ 's', 'c', 'h', 'n', 'y', 'd', 'e', 'r', '-', 'w', 'e', 'r', 'b', 'u', 'n', 'g', '.', 'c', 'h', '\0',
   /* "schoepski.de", true */ 's', 'c', 'h', 'o', 'e', 'p', 's', 'k', 'i', '.', 'd', 'e', '\0',
@@ -17301,17 +17292,16 @@ static const char kSTSHostTable[] = {
   /* "silverlinkz.net", true */ 's', 'i', 'l', 'v', 'e', 'r', 'l', 'i', 'n', 'k', 'z', '.', 'n', 'e', 't', '\0',
   /* "silverseen.com", true */ 's', 'i', 'l', 'v', 'e', 'r', 's', 'e', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "silverstartup.sk", true */ 's', 'i', 'l', 'v', 'e', 'r', 's', 't', 'a', 'r', 't', 'u', 'p', '.', 's', 'k', '\0',
   /* "silverwind.io", true */ 's', 'i', 'l', 'v', 'e', 'r', 'w', 'i', 'n', 'd', '.', 'i', 'o', '\0',
   /* "silvistefi.com", true */ 's', 'i', 'l', 'v', 'i', 's', 't', 'e', 'f', 'i', '.', 'c', 'o', 'm', '\0',
   /* "sim-karten.net", true */ 's', 'i', 'm', '-', 'k', 'a', 'r', 't', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "simam.de", true */ 's', 'i', 'm', 'a', 'm', '.', 'd', 'e', '\0',
   /* "simbeton.nl", true */ 's', 'i', 'm', 'b', 'e', 't', 'o', 'n', '.', 'n', 'l', '\0',
-  /* "simccorp.com", false */ 's', 'i', 'm', 'c', 'c', 'o', 'r', 'p', '.', 'c', 'o', 'm', '\0',
   /* "simeon.us", true */ 's', 'i', 'm', 'e', 'o', 'n', '.', 'u', 's', '\0',
   /* "simeonoff.ninja", true */ 's', 'i', 'm', 'e', 'o', 'n', 'o', 'f', 'f', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "simetal.ch", true */ 's', 'i', 'm', 'e', 't', 'a', 'l', '.', 'c', 'h', '\0',
   /* "simfed.org", true */ 's', 'i', 'm', 'f', 'e', 'd', '.', 'o', 'r', 'g', '\0',
   /* "simlau.net", true */ 's', 'i', 'm', 'l', 'a', 'u', '.', 'n', 'e', 't', '\0',
   /* "simnovo.net", true */ 's', 'i', 'm', 'n', 'o', 'v', 'o', '.', 'n', 'e', 't', '\0',
   /* "simon-hofmann.org", true */ 's', 'i', 'm', 'o', 'n', '-', 'h', 'o', 'f', 'm', 'a', 'n', 'n', '.', 'o', 'r', 'g', '\0',
   /* "simon.lc", true */ 's', 'i', 'm', 'o', 'n', '.', 'l', 'c', '\0',
@@ -17360,17 +17350,16 @@ static const char kSTSHostTable[] = {
   /* "singaporemint.com", true */ 's', 'i', 'n', 'g', 'a', 'p', 'o', 'r', 'e', 'm', 'i', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "singapurfirma.com", true */ 's', 'i', 'n', 'g', 'a', 'p', 'u', 'r', 'f', 'i', 'r', 'm', 'a', '.', 'c', 'o', 'm', '\0',
   /* "singel.ch", true */ 's', 'i', 'n', 'g', 'e', 'l', '.', 'c', 'h', '\0',
   /* "singles-aus-hamburg.de", true */ 's', 'i', 'n', 'g', 'l', 'e', 's', '-', 'a', 'u', 's', '-', 'h', 'a', 'm', 'b', 'u', 'r', 'g', '.', 'd', 'e', '\0',
   /* "singleuse.link", true */ 's', 'i', 'n', 'g', 'l', 'e', 'u', 's', 'e', '.', 'l', 'i', 'n', 'k', '\0',
   /* "singlu10.org", false */ 's', 'i', 'n', 'g', 'l', 'u', '1', '0', '.', 'o', 'r', 'g', '\0',
   /* "sinktank.de", true */ 's', 'i', 'n', 'k', 't', 'a', 'n', 'k', '.', 'd', 'e', '\0',
   /* "sinneserweiterung.de", true */ 's', 'i', 'n', 'n', 'e', 's', 'e', 'r', 'w', 'e', 'i', 't', 'e', 'r', 'u', 'n', 'g', '.', 'd', 'e', '\0',
-  /* "sinnovate.de", true */ 's', 'i', 'n', 'n', 'o', 'v', 'a', 't', 'e', '.', 'd', 'e', '\0',
   /* "sinonimos.com.br", true */ 's', 'i', 'n', 'o', 'n', 'i', 'm', 'o', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "sinonimosonline.com", true */ 's', 'i', 'n', 'o', 'n', 'i', 'm', 'o', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "sinonimosonline.com.br", true */ 's', 'i', 'n', 'o', 'n', 'i', 'm', 'o', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "sinoscandinavia.se", true */ 's', 'i', 'n', 'o', 's', 'c', 'a', 'n', 'd', 'i', 'n', 'a', 'v', 'i', 'a', '.', 's', 'e', '\0',
   /* "sinquin.eu", true */ 's', 'i', 'n', 'q', 'u', 'i', 'n', '.', 'e', 'u', '\0',
   /* "sint-joris.nl", true */ 's', 'i', 'n', 't', '-', 'j', 'o', 'r', 'i', 's', '.', 'n', 'l', '\0',
   /* "sinterama.biz", true */ 's', 'i', 'n', 't', 'e', 'r', 'a', 'm', 'a', '.', 'b', 'i', 'z', '\0',
   /* "siqi.wang", true */ 's', 'i', 'q', 'i', '.', 'w', 'a', 'n', 'g', '\0',
@@ -17753,16 +17742,17 @@ static const char kSTSHostTable[] = {
   /* "sotiran.com", true */ 's', 'o', 't', 'i', 'r', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "sotoasobi.net", true */ 's', 'o', 't', 'o', 'a', 's', 'o', 'b', 'i', '.', 'n', 'e', 't', '\0',
   /* "sou-co.jp", true */ 's', 'o', 'u', '-', 'c', 'o', '.', 'j', 'p', '\0',
   /* "soubriquet.org", true */ 's', 'o', 'u', 'b', 'r', 'i', 'q', 'u', 'e', 't', '.', 'o', 'r', 'g', '\0',
   /* "souki.cz", true */ 's', 'o', 'u', 'k', 'i', '.', 'c', 'z', '\0',
   /* "soukodou.jp", true */ 's', 'o', 'u', 'k', 'o', 'd', 'o', 'u', '.', 'j', 'p', '\0',
   /* "soul-source.co.uk", true */ 's', 'o', 'u', 'l', '-', 's', 'o', 'u', 'r', 'c', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "soulboy.io", false */ 's', 'o', 'u', 'l', 'b', 'o', 'y', '.', 'i', 'o', '\0',
+  /* "soulmate.dating", true */ 's', 'o', 'u', 'l', 'm', 'a', 't', 'e', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "soulogic.com", false */ 's', 'o', 'u', 'l', 'o', 'g', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "soumikghosh.com", true */ 's', 'o', 'u', 'm', 'i', 'k', 'g', 'h', 'o', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "soumya92.me", true */ 's', 'o', 'u', 'm', 'y', 'a', '9', '2', '.', 'm', 'e', '\0',
   /* "soundabout.nl", true */ 's', 'o', 'u', 'n', 'd', 'a', 'b', 'o', 'u', 't', '.', 'n', 'l', '\0',
   /* "soundeo.com", true */ 's', 'o', 'u', 'n', 'd', 'e', 'o', '.', 'c', 'o', 'm', '\0',
   /* "soundeo.net", true */ 's', 'o', 'u', 'n', 'd', 'e', 'o', '.', 'n', 'e', 't', '\0',
   /* "soundforsound.co.uk", true */ 's', 'o', 'u', 'n', 'd', 'f', 'o', 'r', 's', 'o', 'u', 'n', 'd', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "soundgasm.net", true */ 's', 'o', 'u', 'n', 'd', 'g', 'a', 's', 'm', '.', 'n', 'e', 't', '\0',
@@ -17864,16 +17854,17 @@ static const char kSTSHostTable[] = {
   /* "spisbilligt.dk", true */ 's', 'p', 'i', 's', 'b', 'i', 'l', 'l', 'i', 'g', 't', '.', 'd', 'k', '\0',
   /* "spitefultowel.com", true */ 's', 'p', 'i', 't', 'e', 'f', 'u', 'l', 't', 'o', 'w', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "spitfireuav.com", true */ 's', 'p', 'i', 't', 'f', 'i', 'r', 'e', 'u', 'a', 'v', '.', 'c', 'o', 'm', '\0',
   /* "splikity.com", true */ 's', 'p', 'l', 'i', 'k', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "split.is", true */ 's', 'p', 'l', 'i', 't', '.', 'i', 's', '\0',
   /* "splitdna.com", true */ 's', 'p', 'l', 'i', 't', 'd', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "splitreflection.com", true */ 's', 'p', 'l', 'i', 't', 'r', 'e', 'f', 'l', 'e', 'c', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "splunk.net", true */ 's', 'p', 'l', 'u', 'n', 'k', '.', 'n', 'e', 't', '\0',
+  /* "spodelime.com", true */ 's', 'p', 'o', 'd', 'e', 'l', 'i', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "spoketwist.com", true */ 's', 'p', 'o', 'k', 'e', 't', 'w', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "spom.net", true */ 's', 'p', 'o', 'm', '.', 'n', 'e', 't', '\0',
   /* "sponc.de", true */ 's', 'p', 'o', 'n', 'c', '.', 'd', 'e', '\0',
   /* "spongepowered.org", true */ 's', 'p', 'o', 'n', 'g', 'e', 'p', 'o', 'w', 'e', 'r', 'e', 'd', '.', 'o', 'r', 'g', '\0',
   /* "sponsor.network", true */ 's', 'p', 'o', 'n', 's', 'o', 'r', '.', 'n', 'e', 't', 'w', 'o', 'r', 'k', '\0',
   /* "sponsorowani.pl", true */ 's', 'p', 'o', 'n', 's', 'o', 'r', 'o', 'w', 'a', 'n', 'i', '.', 'p', 'l', '\0',
   /* "spoofhaus.com", true */ 's', 'p', 'o', 'o', 'f', 'h', 'a', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "spookbook.net", true */ 's', 'p', 'o', 'o', 'k', 'b', 'o', 'o', 'k', '.', 'n', 'e', 't', '\0',
@@ -18006,17 +17997,16 @@ static const char kSTSHostTable[] = {
   /* "stamkassa.nl", true */ 's', 't', 'a', 'm', 'k', 'a', 's', 's', 'a', '.', 'n', 'l', '\0',
   /* "stammtisch.domains", true */ 's', 't', 'a', 'm', 'm', 't', 'i', 's', 'c', 'h', '.', 'd', 'o', 'm', 'a', 'i', 'n', 's', '\0',
   /* "stamparmakarije.me", true */ 's', 't', 'a', 'm', 'p', 'a', 'r', 'm', 'a', 'k', 'a', 'r', 'i', 'j', 'e', '.', 'm', 'e', '\0',
   /* "stampederadon.com", true */ 's', 't', 'a', 'm', 'p', 'e', 'd', 'e', 'r', 'a', 'd', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "stanandjerre.org", true */ 's', 't', 'a', 'n', 'a', 'n', 'd', 'j', 'e', 'r', 'r', 'e', '.', 'o', 'r', 'g', '\0',
   /* "standagainstspying.org", true */ 's', 't', 'a', 'n', 'd', 'a', 'g', 'a', 'i', 'n', 's', 't', 's', 'p', 'y', 'i', 'n', 'g', '.', 'o', 'r', 'g', '\0',
   /* "standards.gov", true */ 's', 't', 'a', 'n', 'd', 'a', 'r', 'd', 's', '.', 'g', 'o', 'v', '\0',
   /* "standoutbooks.com", true */ 's', 't', 'a', 'n', 'd', 'o', 'u', 't', 'b', 'o', 'o', 'k', 's', '.', 'c', 'o', 'm', '\0',
-  /* "star-citizen.wiki", true */ 's', 't', 'a', 'r', '-', 'c', 'i', 't', 'i', 'z', 'e', 'n', '.', 'w', 'i', 'k', 'i', '\0',
   /* "star-killer.net", true */ 's', 't', 'a', 'r', '-', 'k', 'i', 'l', 'l', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "starcafe.me", true */ 's', 't', 'a', 'r', 'c', 'a', 'f', 'e', '.', 'm', 'e', '\0',
   /* "starcomproj.com", true */ 's', 't', 'a', 'r', 'c', 'o', 'm', 'p', 'r', 'o', 'j', '.', 'c', 'o', 'm', '\0',
   /* "stardanceacademy.net", true */ 's', 't', 'a', 'r', 'd', 'a', 'n', 'c', 'e', 'a', 'c', 'a', 'd', 'e', 'm', 'y', '.', 'n', 'e', 't', '\0',
   /* "starfm.de", true */ 's', 't', 'a', 'r', 'f', 'm', '.', 'd', 'e', '\0',
   /* "stargarder-jungs.de", true */ 's', 't', 'a', 'r', 'g', 'a', 'r', 'd', 'e', 'r', '-', 'j', 'u', 'n', 'g', 's', '.', 'd', 'e', '\0',
   /* "stargazer.de", true */ 's', 't', 'a', 'r', 'g', 'a', 'z', 'e', 'r', '.', 'd', 'e', '\0',
   /* "stari.co", true */ 's', 't', 'a', 'r', 'i', '.', 'c', 'o', '\0',
@@ -18031,17 +18021,16 @@ static const char kSTSHostTable[] = {
   /* "startlab.sk", true */ 's', 't', 'a', 'r', 't', 'l', 'a', 'b', '.', 's', 'k', '\0',
   /* "startpage.com", true */ 's', 't', 'a', 'r', 't', 'p', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "startpage.info", true */ 's', 't', 'a', 'r', 't', 'p', 'a', 'g', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "startrek.in", true */ 's', 't', 'a', 'r', 't', 'r', 'e', 'k', '.', 'i', 'n', '\0',
   /* "starttraffic.uk", true */ 's', 't', 'a', 'r', 't', 't', 'r', 'a', 'f', 'f', 'i', 'c', '.', 'u', 'k', '\0',
   /* "startupsort.com", true */ 's', 't', 'a', 'r', 't', 'u', 'p', 's', 'o', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "startupum.ru", true */ 's', 't', 'a', 'r', 't', 'u', 'p', 'u', 'm', '.', 'r', 'u', '\0',
   /* "starwatches.eu", true */ 's', 't', 'a', 'r', 'w', 'a', 't', 'c', 'h', 'e', 's', '.', 'e', 'u', '\0',
-  /* "stassi.ch", true */ 's', 't', 'a', 's', 's', 'i', '.', 'c', 'h', '\0',
   /* "stastka.ch", true */ 's', 't', 'a', 's', 't', 'k', 'a', '.', 'c', 'h', '\0',
   /* "stat.ink", true */ 's', 't', 'a', 't', '.', 'i', 'n', 'k', '\0',
   /* "state-of-body-and-mind.com", true */ 's', 't', 'a', 't', 'e', '-', 'o', 'f', '-', 'b', 'o', 'd', 'y', '-', 'a', 'n', 'd', '-', 'm', 'i', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "statgram.me", true */ 's', 't', 'a', 't', 'g', 'r', 'a', 'm', '.', 'm', 'e', '\0',
   /* "static-692b8c32.de", true */ 's', 't', 'a', 't', 'i', 'c', '-', '6', '9', '2', 'b', '8', 'c', '3', '2', '.', 'd', 'e', '\0',
   /* "static-myfxee-808795.c.cdn77.org", true */ 's', 't', 'a', 't', 'i', 'c', '-', 'm', 'y', 'f', 'x', 'e', 'e', '-', '8', '0', '8', '7', '9', '5', '.', 'c', '.', 'c', 'd', 'n', '7', '7', '.', 'o', 'r', 'g', '\0',
   /* "static-myfxoau-808795.c.cdn77.org", true */ 's', 't', 'a', 't', 'i', 'c', '-', 'm', 'y', 'f', 'x', 'o', 'a', 'u', '-', '8', '0', '8', '7', '9', '5', '.', 'c', '.', 'c', 'd', 'n', '7', '7', '.', 'o', 'r', 'g', '\0',
   /* "static-myfxouk-808795.c.cdn77.org", true */ 's', 't', 'a', 't', 'i', 'c', '-', 'm', 'y', 'f', 'x', 'o', 'u', 'k', '-', '8', '0', '8', '7', '9', '5', '.', 'c', '.', 'c', 'd', 'n', '7', '7', '.', 'o', 'r', 'g', '\0',
@@ -18061,16 +18050,17 @@ static const char kSTSHostTable[] = {
   /* "stcable.net", true */ 's', 't', 'c', 'a', 'b', 'l', 'e', '.', 'n', 'e', 't', '\0',
   /* "stcu.org", true */ 's', 't', 'c', 'u', '.', 'o', 'r', 'g', '\0',
   /* "std-home-test.com", true */ 's', 't', 'd', '-', 'h', 'o', 'm', 'e', '-', 't', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "stderr.cc", false */ 's', 't', 'd', 'e', 'r', 'r', '.', 'c', 'c', '\0',
   /* "stdrc.cc", true */ 's', 't', 'd', 'r', 'c', '.', 'c', 'c', '\0',
   /* "steakovercooked.com", true */ 's', 't', 'e', 'a', 'k', 'o', 'v', 'e', 'r', 'c', 'o', 'o', 'k', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "stealsaga.net", true */ 's', 't', 'e', 'a', 'l', 's', 'a', 'g', 'a', '.', 'n', 'e', 't', '\0',
   /* "steamdb.info", true */ 's', 't', 'e', 'a', 'm', 'd', 'b', '.', 'i', 'n', 'f', 'o', '\0',
+  /* "steckregal-super.de", false */ 's', 't', 'e', 'c', 'k', 'r', 'e', 'g', 'a', 'l', '-', 's', 'u', 'p', 'e', 'r', '.', 'd', 'e', '\0',
   /* "steef389.eu", true */ 's', 't', 'e', 'e', 'f', '3', '8', '9', '.', 'e', 'u', '\0',
   /* "steelephys.com.au", true */ 's', 't', 'e', 'e', 'l', 'e', 'p', 'h', 'y', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "steem.io", true */ 's', 't', 'e', 'e', 'm', '.', 'i', 'o', '\0',
   /* "steemit.com", true */ 's', 't', 'e', 'e', 'm', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "steenackers.be", true */ 's', 't', 'e', 'e', 'n', 'a', 'c', 'k', 'e', 'r', 's', '.', 'b', 'e', '\0',
   /* "stefan-bayer.eu", true */ 's', 't', 'e', 'f', 'a', 'n', '-', 'b', 'a', 'y', 'e', 'r', '.', 'e', 'u', '\0',
   /* "stefanbayer.de", true */ 's', 't', 'e', 'f', 'a', 'n', 'b', 'a', 'y', 'e', 'r', '.', 'd', 'e', '\0',
   /* "stefanovski.io", true */ 's', 't', 'e', 'f', 'a', 'n', 'o', 'v', 's', 'k', 'i', '.', 'i', 'o', '\0',
@@ -18183,17 +18173,16 @@ static const char kSTSHostTable[] = {
   /* "strahlende-augen.info", true */ 's', 't', 'r', 'a', 'h', 'l', 'e', 'n', 'd', 'e', '-', 'a', 'u', 'g', 'e', 'n', '.', 'i', 'n', 'f', 'o', '\0',
   /* "strangemusicinc.net", true */ 's', 't', 'r', 'a', 'n', 'g', 'e', 'm', 'u', 's', 'i', 'c', 'i', 'n', 'c', '.', 'n', 'e', 't', '\0',
   /* "strangeplace.net", true */ 's', 't', 'r', 'a', 'n', 'g', 'e', 'p', 'l', 'a', 'c', 'e', '.', 'n', 'e', 't', '\0',
   /* "strategie-zone.de", true */ 's', 't', 'r', 'a', 't', 'e', 'g', 'i', 'e', '-', 'z', 'o', 'n', 'e', '.', 'd', 'e', '\0',
   /* "strathewerd.de", true */ 's', 't', 'r', 'a', 't', 'h', 'e', 'w', 'e', 'r', 'd', '.', 'd', 'e', '\0',
   /* "straubis.org", true */ 's', 't', 'r', 'a', 'u', 'b', 'i', 's', '.', 'o', 'r', 'g', '\0',
   /* "strauser.com", true */ 's', 't', 'r', 'a', 'u', 's', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "stravers.shoes", true */ 's', 't', 'r', 'a', 'v', 'e', 'r', 's', '.', 's', 'h', 'o', 'e', 's', '\0',
-  /* "stream.pub", true */ 's', 't', 'r', 'e', 'a', 'm', '.', 'p', 'u', 'b', '\0',
   /* "streamchan.org", true */ 's', 't', 'r', 'e', 'a', 'm', 'c', 'h', 'a', 'n', '.', 'o', 'r', 'g', '\0',
   /* "streamdesk.ca", true */ 's', 't', 'r', 'e', 'a', 'm', 'd', 'e', 's', 'k', '.', 'c', 'a', '\0',
   /* "streamlineautogroup.com", true */ 's', 't', 'r', 'e', 'a', 'm', 'l', 'i', 'n', 'e', 'a', 'u', 't', 'o', 'g', 'r', 'o', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "streampanel.net", true */ 's', 't', 'r', 'e', 'a', 'm', 'p', 'a', 'n', 'e', 'l', '.', 'n', 'e', 't', '\0',
   /* "streamzilla.com", true */ 's', 't', 'r', 'e', 'a', 'm', 'z', 'i', 'l', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "streetdancecenter.com", true */ 's', 't', 'r', 'e', 'e', 't', 'd', 'a', 'n', 'c', 'e', 'c', 'e', 'n', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "streets.mn", true */ 's', 't', 'r', 'e', 'e', 't', 's', '.', 'm', 'n', '\0',
   /* "streetspotr.com", true */ 's', 't', 'r', 'e', 'e', 't', 's', 'p', 'o', 't', 'r', '.', 'c', 'o', 'm', '\0',
@@ -18298,33 +18287,33 @@ static const char kSTSHostTable[] = {
   /* "suksit.com", true */ 's', 'u', 'k', 's', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "sulek.eu", true */ 's', 'u', 'l', 'e', 'k', '.', 'e', 'u', '\0',
   /* "sumguy.com", true */ 's', 'u', 'm', 'g', 'u', 'y', '.', 'c', 'o', 'm', '\0',
   /* "summa.eu", false */ 's', 'u', 'm', 'm', 'a', '.', 'e', 'u', '\0',
   /* "sumthing.com", true */ 's', 'u', 'm', 't', 'h', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "sunbritetv.com", true */ 's', 'u', 'n', 'b', 'r', 'i', 't', 'e', 't', 'v', '.', 'c', 'o', 'm', '\0',
   /* "sundayfundayjapan.com", true */ 's', 'u', 'n', 'd', 'a', 'y', 'f', 'u', 'n', 'd', 'a', 'y', 'j', 'a', 'p', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "suneilpatel.com", true */ 's', 'u', 'n', 'e', 'i', 'l', 'p', 'a', 't', 'e', 'l', '.', 'c', 'o', 'm', '\0',
+  /* "sunflyer.cn", false */ 's', 'u', 'n', 'f', 'l', 'y', 'e', 'r', '.', 'c', 'n', '\0',
   /* "sunfox.cz", true */ 's', 'u', 'n', 'f', 'o', 'x', '.', 'c', 'z', '\0',
   /* "sungo.wtf", true */ 's', 'u', 'n', 'g', 'o', '.', 'w', 't', 'f', '\0',
   /* "sunjaydhama.com", true */ 's', 'u', 'n', 'j', 'a', 'y', 'd', 'h', 'a', 'm', 'a', '.', 'c', 'o', 'm', '\0',
   /* "sunsetwx.com", true */ 's', 'u', 'n', 's', 'e', 't', 'w', 'x', '.', 'c', 'o', 'm', '\0',
   /* "sunsmartresorts.com", true */ 's', 'u', 'n', 's', 'm', 'a', 'r', 't', 'r', 'e', 's', 'o', 'r', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "sunstar.bg", true */ 's', 'u', 'n', 's', 't', 'a', 'r', '.', 'b', 'g', '\0',
   /* "supa.sexy", true */ 's', 'u', 'p', 'a', '.', 's', 'e', 'x', 'y', '\0',
   /* "supastuds.com", true */ 's', 'u', 'p', 'a', 's', 't', 'u', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "super-o-blog.com", true */ 's', 'u', 'p', 'e', 'r', '-', 'o', '-', 'b', 'l', 'o', 'g', '.', 'c', 'o', 'm', '\0',
   /* "superbart.nl", true */ 's', 'u', 'p', 'e', 'r', 'b', 'a', 'r', 't', '.', 'n', 'l', '\0',
   /* "superbshare.com", true */ 's', 'u', 'p', 'e', 'r', 'b', 's', 'h', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "supercalorias.com", true */ 's', 'u', 'p', 'e', 'r', 'c', 'a', 'l', 'o', 'r', 'i', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "supercentenarian.com", true */ 's', 'u', 'p', 'e', 'r', 'c', 'e', 'n', 't', 'e', 'n', 'a', 'r', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "superhappiness.com", true */ 's', 'u', 'p', 'e', 'r', 'h', 'a', 'p', 'p', 'i', 'n', 'e', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "superhome.com.au", true */ 's', 'u', 'p', 'e', 'r', 'h', 'o', 'm', 'e', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "superkonsult.se", true */ 's', 'u', 'p', 'e', 'r', 'k', 'o', 'n', 's', 'u', 'l', 't', '.', 's', 'e', '\0',
-  /* "superlandnetwork.de", true */ 's', 'u', 'p', 'e', 'r', 'l', 'a', 'n', 'd', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'd', 'e', '\0',
   /* "supermarx.nl", true */ 's', 'u', 'p', 'e', 'r', 'm', 'a', 'r', 'x', '.', 'n', 'l', '\0',
   /* "supern0va.net", true */ 's', 'u', 'p', 'e', 'r', 'n', '0', 'v', 'a', '.', 'n', 'e', 't', '\0',
   /* "supernt.lt", true */ 's', 'u', 'p', 'e', 'r', 'n', 't', '.', 'l', 't', '\0',
   /* "superpase.com", true */ 's', 'u', 'p', 'e', 'r', 'p', 'a', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "supersahnetorten.de", true */ 's', 'u', 'p', 'e', 'r', 's', 'a', 'h', 'n', 'e', 't', 'o', 'r', 't', 'e', 'n', '.', 'd', 'e', '\0',
   /* "supersonnig-festival.de", true */ 's', 'u', 'p', 'e', 'r', 's', 'o', 'n', 'n', 'i', 'g', '-', 'f', 'e', 's', 't', 'i', 'v', 'a', 'l', '.', 'd', 'e', '\0',
   /* "supersonnigfestival.de", true */ 's', 'u', 'p', 'e', 'r', 's', 'o', 'n', 'n', 'i', 'g', 'f', 'e', 's', 't', 'i', 'v', 'a', 'l', '.', 'd', 'e', '\0',
   /* "supersu.kr", true */ 's', 'u', 'p', 'e', 'r', 's', 'u', '.', 'k', 'r', '\0',
@@ -18336,17 +18325,16 @@ static const char kSTSHostTable[] = {
   /* "supplies24.es", true */ 's', 'u', 'p', 'p', 'l', 'i', 'e', 's', '2', '4', '.', 'e', 's', '\0',
   /* "support.mayfirst.org", false */ 's', 'u', 'p', 'p', 'o', 'r', 't', '.', 'm', 'a', 'y', 'f', 'i', 'r', 's', 't', '.', 'o', 'r', 'g', '\0',
   /* "support4server.de", true */ 's', 'u', 'p', 'p', 'o', 'r', 't', '4', 's', 'e', 'r', 'v', 'e', 'r', '.', 'd', 'e', '\0',
   /* "supportericking.org", true */ 's', 'u', 'p', 'p', 'o', 'r', 't', 'e', 'r', 'i', 'c', 'k', 'i', 'n', 'g', '.', 'o', 'r', 'g', '\0',
   /* "supportme123.com", true */ 's', 'u', 'p', 'p', 'o', 'r', 't', 'm', 'e', '1', '2', '3', '.', 'c', 'o', 'm', '\0',
   /* "suprem.biz", true */ 's', 'u', 'p', 'r', 'e', 'm', '.', 'b', 'i', 'z', '\0',
   /* "suprem.ch", true */ 's', 'u', 'p', 'r', 'e', 'm', '.', 'c', 'h', '\0',
   /* "sur-v.com", true */ 's', 'u', 'r', '-', 'v', '.', 'c', 'o', 'm', '\0',
-  /* "surasak.io", true */ 's', 'u', 'r', 'a', 's', 'a', 'k', '.', 'i', 'o', '\0',
   /* "surasak.xyz", true */ 's', 'u', 'r', 'a', 's', 'a', 'k', '.', 'x', 'y', 'z', '\0',
   /* "surgenet.nl", true */ 's', 'u', 'r', 'g', 'e', 'n', 'e', 't', '.', 'n', 'l', '\0',
   /* "surgeongeneral.gov", true */ 's', 'u', 'r', 'g', 'e', 'o', 'n', 'g', 'e', 'n', 'e', 'r', 'a', 'l', '.', 'g', 'o', 'v', '\0',
   /* "surgicalassociateswny.com", true */ 's', 'u', 'r', 'g', 'i', 'c', 'a', 'l', 'a', 's', 's', 'o', 'c', 'i', 'a', 't', 'e', 's', 'w', 'n', 'y', '.', 'c', 'o', 'm', '\0',
   /* "surkatty.org", true */ 's', 'u', 'r', 'k', 'a', 't', 't', 'y', '.', 'o', 'r', 'g', '\0',
   /* "survature.com", true */ 's', 'u', 'r', 'v', 'a', 't', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "surveymill.co.uk", true */ 's', 'u', 'r', 'v', 'e', 'y', 'm', 'i', 'l', 'l', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "survivalmonkey.com", true */ 's', 'u', 'r', 'v', 'i', 'v', 'a', 'l', 'm', 'o', 'n', 'k', 'e', 'y', '.', 'c', 'o', 'm', '\0',
@@ -18379,16 +18367,17 @@ static const char kSTSHostTable[] = {
   /* "svennd.be", true */ 's', 'v', 'e', 'n', 'n', 'd', '.', 'b', 'e', '\0',
   /* "svetandroida.cz", true */ 's', 'v', 'e', 't', 'a', 'n', 'd', 'r', 'o', 'i', 'd', 'a', '.', 'c', 'z', '\0',
   /* "svetjakonadlani.cz", true */ 's', 'v', 'e', 't', 'j', 'a', 'k', 'o', 'n', 'a', 'd', 'l', 'a', 'n', 'i', '.', 'c', 'z', '\0',
   /* "svetlilo.com", true */ 's', 'v', 'e', 't', 'l', 'i', 'l', 'o', '.', 'c', 'o', 'm', '\0',
   /* "svetzitrka.cz", false */ 's', 'v', 'e', 't', 'z', 'i', 't', 'r', 'k', 'a', '.', 'c', 'z', '\0',
   /* "svijet-medija.hr", true */ 's', 'v', 'i', 'j', 'e', 't', '-', 'm', 'e', 'd', 'i', 'j', 'a', '.', 'h', 'r', '\0',
   /* "svjvn.cz", true */ 's', 'v', 'j', 'v', 'n', '.', 'c', 'z', '\0',
   /* "svm-it.eu", true */ 's', 'v', 'm', '-', 'i', 't', '.', 'e', 'u', '\0',
+  /* "sw-servers.net", true */ 's', 'w', '-', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "swaggerdile.com", true */ 's', 'w', 'a', 'g', 'g', 'e', 'r', 'd', 'i', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "swaleacademiestrust.org.uk", true */ 's', 'w', 'a', 'l', 'e', 'a', 'c', 'a', 'd', 'e', 'm', 'i', 'e', 's', 't', 'r', 'u', 's', 't', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "swansdoor.org", true */ 's', 'w', 'a', 'n', 's', 'd', 'o', 'o', 'r', '.', 'o', 'r', 'g', '\0',
   /* "swapadoodle.com", true */ 's', 'w', 'a', 'p', 'a', 'd', 'o', 'o', 'd', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "swarlys-server.de", true */ 's', 'w', 'a', 'r', 'l', 'y', 's', '-', 's', 'e', 'r', 'v', 'e', 'r', '.', 'd', 'e', '\0',
   /* "swat4stats.com", true */ 's', 'w', 'a', 't', '4', 's', 't', 'a', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "sway-cdn.com", true */ 's', 'w', 'a', 'y', '-', 'c', 'd', 'n', '.', 'c', 'o', 'm', '\0',
   /* "sway.com", true */ 's', 'w', 'a', 'y', '.', 'c', 'o', 'm', '\0',
@@ -18532,17 +18521,16 @@ static const char kSTSHostTable[] = {
   /* "talentcast.nl", false */ 't', 'a', 'l', 'e', 'n', 't', 'c', 'a', 's', 't', '.', 'n', 'l', '\0',
   /* "talentos.pt", true */ 't', 'a', 'l', 'e', 'n', 't', 'o', 's', '.', 'p', 't', '\0',
   /* "talentuar.com", true */ 't', 'a', 'l', 'e', 'n', 't', 'u', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "taler.net", true */ 't', 'a', 'l', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "talideon.com", false */ 't', 'a', 'l', 'i', 'd', 'e', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "talk.google.com", true */ 't', 'a', 'l', 'k', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "talkgadget.google.com", true */ 't', 'a', 'l', 'k', 'g', 'a', 'd', 'g', 'e', 't', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "talkitup.mx", true */ 't', 'a', 'l', 'k', 'i', 't', 'u', 'p', '.', 'm', 'x', '\0',
-  /* "talkitup.online", true */ 't', 'a', 'l', 'k', 'i', 't', 'u', 'p', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0',
   /* "talktodarcy.com", true */ 't', 'a', 'l', 'k', 't', 'o', 'd', 'a', 'r', 'c', 'y', '.', 'c', 'o', 'm', '\0',
   /* "talktwincities.com", true */ 't', 'a', 'l', 'k', 't', 'w', 'i', 'n', 'c', 'i', 't', 'i', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "tallcraft.com", true */ 't', 'a', 'l', 'l', 'c', 'r', 'a', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "talldude.net", true */ 't', 'a', 'l', 'l', 'd', 'u', 'd', 'e', '.', 'n', 'e', 't', '\0',
   /* "talsi.eu", true */ 't', 'a', 'l', 's', 'i', '.', 'e', 'u', '\0',
   /* "talun.de", true */ 't', 'a', 'l', 'u', 'n', '.', 'd', 'e', '\0',
   /* "tamasszabo.net", true */ 't', 'a', 'm', 'a', 's', 's', 'z', 'a', 'b', 'o', '.', 'n', 'e', 't', '\0',
   /* "tamchunho.com", true */ 't', 'a', 'm', 'c', 'h', 'u', 'n', 'h', 'o', '.', 'c', 'o', 'm', '\0',
@@ -18754,17 +18742,16 @@ static const char kSTSHostTable[] = {
   /* "tendermaster.com.ua", true */ 't', 'e', 'n', 'd', 'e', 'r', 'm', 'a', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '.', 'u', 'a', '\0',
   /* "tenderstem.co.uk", true */ 't', 'e', 'n', 'd', 'e', 'r', 's', 't', 'e', 'm', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "tendertime.jp", true */ 't', 'e', 'n', 'd', 'e', 'r', 't', 'i', 'm', 'e', '.', 'j', 'p', '\0',
   /* "tendoryu-aikido.org", true */ 't', 'e', 'n', 'd', 'o', 'r', 'y', 'u', '-', 'a', 'i', 'k', 'i', 'd', 'o', '.', 'o', 'r', 'g', '\0',
   /* "tenenz.com", true */ 't', 'e', 'n', 'e', 'n', 'z', '.', 'c', 'o', 'm', '\0',
   /* "tengu.cloud", true */ 't', 'e', 'n', 'g', 'u', '.', 'c', 'l', 'o', 'u', 'd', '\0',
   /* "tenisservis.eu", true */ 't', 'e', 'n', 'i', 's', 's', 'e', 'r', 'v', 'i', 's', '.', 'e', 'u', '\0',
   /* "tenkofx.com", true */ 't', 'e', 'n', 'k', 'o', 'f', 'x', '.', 'c', 'o', 'm', '\0',
-  /* "tenmm.com", true */ 't', 'e', 'n', 'm', 'm', '.', 'c', 'o', 'm', '\0',
   /* "tennisadmin.com", true */ 't', 'e', 'n', 'n', 'i', 's', 'a', 'd', 'm', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "tenpolab.com", true */ 't', 'e', 'n', 'p', 'o', 'l', 'a', 'b', '.', 'c', 'o', 'm', '\0',
   /* "tenshoku-hanashi.com", true */ 't', 'e', 'n', 's', 'h', 'o', 'k', 'u', '-', 'h', 'a', 'n', 'a', 's', 'h', 'i', '.', 'c', 'o', 'm', '\0',
   /* "tent.io", true */ 't', 'e', 'n', 't', '.', 'i', 'o', '\0',
   /* "tenta.com", true */ 't', 'e', 'n', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "tentabrowser.com", true */ 't', 'e', 'n', 't', 'a', 'b', 'r', 'o', 'w', 's', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "tentations-voyages.com", true */ 't', 'e', 'n', 't', 'a', 't', 'i', 'o', 'n', 's', '-', 'v', 'o', 'y', 'a', 'g', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "tenyx.de", true */ 't', 'e', 'n', 'y', 'x', '.', 'd', 'e', '\0',
@@ -18909,17 +18896,16 @@ static const char kSTSHostTable[] = {
   /* "thefnafarchive.org", true */ 't', 'h', 'e', 'f', 'n', 'a', 'f', 'a', 'r', 'c', 'h', 'i', 'v', 'e', '.', 'o', 'r', 'g', '\0',
   /* "thefox.co", true */ 't', 'h', 'e', 'f', 'o', 'x', '.', 'c', 'o', '\0',
   /* "thefox.com.fr", true */ 't', 'h', 'e', 'f', 'o', 'x', '.', 'c', 'o', 'm', '.', 'f', 'r', '\0',
   /* "thefreebirds.in", true */ 't', 'h', 'e', 'f', 'r', 'e', 'e', 'b', 'i', 'r', 'd', 's', '.', 'i', 'n', '\0',
   /* "thegamerscamp.com", true */ 't', 'h', 'e', 'g', 'a', 'm', 'e', 'r', 's', 'c', 'a', 'm', 'p', '.', 'c', 'o', 'm', '\0',
   /* "thegarrowcompany.com", true */ 't', 'h', 'e', 'g', 'a', 'r', 'r', 'o', 'w', 'c', 'o', 'm', 'p', 'a', 'n', 'y', '.', 'c', 'o', 'm', '\0',
   /* "thegasshop.co.uk", false */ 't', 'h', 'e', 'g', 'a', 's', 's', 'h', 'o', 'p', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "thegioinano.com", true */ 't', 'h', 'e', 'g', 'i', 'o', 'i', 'n', 'a', 'n', 'o', '.', 'c', 'o', 'm', '\0',
-  /* "thegoldregister.co.uk", true */ 't', 'h', 'e', 'g', 'o', 'l', 'd', 'r', 'e', 'g', 'i', 's', 't', 'e', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "thegraciousgourmet.com", true */ 't', 'h', 'e', 'g', 'r', 'a', 'c', 'i', 'o', 'u', 's', 'g', 'o', 'u', 'r', 'm', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "thegrape.ro", true */ 't', 'h', 'e', 'g', 'r', 'a', 'p', 'e', '.', 'r', 'o', '\0',
   /* "thegreatplains.com", true */ 't', 'h', 'e', 'g', 'r', 'e', 'a', 't', 'p', 'l', 'a', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "thegreenfields.se", true */ 't', 'h', 'e', 'g', 'r', 'e', 'e', 'n', 'f', 'i', 'e', 'l', 'd', 's', '.', 's', 'e', '\0',
   /* "thegreenmanpottery.com", true */ 't', 'h', 'e', 'g', 'r', 'e', 'e', 'n', 'm', 'a', 'n', 'p', 'o', 't', 't', 'e', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "thegreens.us", true */ 't', 'h', 'e', 'g', 'r', 'e', 'e', 'n', 's', '.', 'u', 's', '\0',
   /* "thegreenvpn.com", true */ 't', 'h', 'e', 'g', 'r', 'e', 'e', 'n', 'v', 'p', 'n', '.', 'c', 'o', 'm', '\0',
   /* "thegvoffice.net", true */ 't', 'h', 'e', 'g', 'v', 'o', 'f', 'f', 'i', 'c', 'e', '.', 'n', 'e', 't', '\0',
@@ -18940,17 +18926,16 @@ static const char kSTSHostTable[] = {
   /* "thelanscape.com", true */ 't', 'h', 'e', 'l', 'a', 'n', 's', 'c', 'a', 'p', 'e', '.', 'c', 'o', 'm', '\0',
   /* "thelastsurprise.com", true */ 't', 'h', 'e', 'l', 'a', 's', 't', 's', 'u', 'r', 'p', 'r', 'i', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "thelefthand.org", true */ 't', 'h', 'e', 'l', 'e', 'f', 't', 'h', 'a', 'n', 'd', '.', 'o', 'r', 'g', '\0',
   /* "thelinuxspace.com", true */ 't', 'h', 'e', 'l', 'i', 'n', 'u', 'x', 's', 'p', 'a', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "thelinuxtree.net", true */ 't', 'h', 'e', 'l', 'i', 'n', 'u', 'x', 't', 'r', 'e', 'e', '.', 'n', 'e', 't', '\0',
   /* "thelittlecraft.com", true */ 't', 'h', 'e', 'l', 'i', 't', 't', 'l', 'e', 'c', 'r', 'a', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "thelocals.ru", true */ 't', 'h', 'e', 'l', 'o', 'c', 'a', 'l', 's', '.', 'r', 'u', '\0',
   /* "themadmechanic.net", true */ 't', 'h', 'e', 'm', 'a', 'd', 'm', 'e', 'c', 'h', 'a', 'n', 'i', 'c', '.', 'n', 'e', 't', '\0',
-  /* "themanufacturingmarketingagency.com", true */ 't', 'h', 'e', 'm', 'a', 'n', 'u', 'f', 'a', 'c', 't', 'u', 'r', 'i', 'n', 'g', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', 'a', 'g', 'e', 'n', 'c', 'y', '.', 'c', 'o', 'm', '\0',
   /* "themarshallproject.org", true */ 't', 'h', 'e', 'm', 'a', 'r', 's', 'h', 'a', 'l', 'l', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "themathematician.uk", true */ 't', 'h', 'e', 'm', 'a', 't', 'h', 'e', 'm', 'a', 't', 'i', 'c', 'i', 'a', 'n', '.', 'u', 'k', '\0',
   /* "themeaudit.com", true */ 't', 'h', 'e', 'm', 'e', 'a', 'u', 'd', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "themecraft.studio", true */ 't', 'h', 'e', 'm', 'e', 'c', 'r', 'a', 'f', 't', '.', 's', 't', 'u', 'd', 'i', 'o', '\0',
   /* "themerchandiser.net", true */ 't', 'h', 'e', 'm', 'e', 'r', 'c', 'h', 'a', 'n', 'd', 'i', 's', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "themilanlife.com", true */ 't', 'h', 'e', 'm', 'i', 'l', 'a', 'n', 'l', 'i', 'f', 'e', '.', 'c', 'o', 'm', '\0',
   /* "themillerslive.com", true */ 't', 'h', 'e', 'm', 'i', 'l', 'l', 'e', 'r', 's', 'l', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "themoep.at", true */ 't', 'h', 'e', 'm', 'o', 'e', 'p', '.', 'a', 't', '\0',
@@ -18988,21 +18973,21 @@ static const char kSTSHostTable[] = {
   /* "theprivacysolution.com", true */ 't', 'h', 'e', 'p', 'r', 'i', 'v', 'a', 'c', 'y', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "thequillmagazine.org", true */ 't', 'h', 'e', 'q', 'u', 'i', 'l', 'l', 'm', 'a', 'g', 'a', 'z', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0',
   /* "theramo.re", true */ 't', 'h', 'e', 'r', 'a', 'm', 'o', '.', 'r', 'e', '\0',
   /* "therapynotes.com", true */ 't', 'h', 'e', 'r', 'a', 'p', 'y', 'n', 'o', 't', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "therapyportal.com", true */ 't', 'h', 'e', 'r', 'a', 'p', 'y', 'p', 'o', 'r', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "therapysxm.com", true */ 't', 'h', 'e', 'r', 'a', 'p', 'y', 's', 'x', 'm', '.', 'c', 'o', 'm', '\0',
   /* "therealcost.gov", true */ 't', 'h', 'e', 'r', 'e', 'a', 'l', 'c', 'o', 's', 't', '.', 'g', 'o', 'v', '\0',
   /* "theresa-mayer.eu", true */ 't', 'h', 'e', 'r', 'e', 's', 'a', '-', 'm', 'a', 'y', 'e', 'r', '.', 'e', 'u', '\0',
+  /* "therevenge.me", true */ 't', 'h', 'e', 'r', 'e', 'v', 'e', 'n', 'g', 'e', '.', 'm', 'e', '\0',
   /* "thermique.ch", true */ 't', 'h', 'e', 'r', 'm', 'i', 'q', 'u', 'e', '.', 'c', 'h', '\0',
   /* "thermity.com", true */ 't', 'h', 'e', 'r', 'm', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "thermolamina.nl", true */ 't', 'h', 'e', 'r', 'm', 'o', 'l', 'a', 'm', 'i', 'n', 'a', '.', 'n', 'l', '\0',
   /* "therockawaysny.com", true */ 't', 'h', 'e', 'r', 'o', 'c', 'k', 'a', 'w', 'a', 'y', 's', 'n', 'y', '.', 'c', 'o', 'm', '\0',
-  /* "theroyalmarinescharity.org.uk", true */ 't', 'h', 'e', 'r', 'o', 'y', 'a', 'l', 'm', 'a', 'r', 'i', 'n', 'e', 's', 'c', 'h', 'a', 'r', 'i', 't', 'y', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "thesalonthing.com", true */ 't', 'h', 'e', 's', 'a', 'l', 'o', 'n', 't', 'h', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "thesaturdaypaper.com.au", true */ 't', 'h', 'e', 's', 'a', 't', 'u', 'r', 'd', 'a', 'y', 'p', 'a', 'p', 'e', 'r', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "theschool.jp", true */ 't', 'h', 'e', 's', 'c', 'h', 'o', 'o', 'l', '.', 'j', 'p', '\0',
   /* "thescientists.nl", true */ 't', 'h', 'e', 's', 'c', 'i', 'e', 'n', 't', 'i', 's', 't', 's', '.', 'n', 'l', '\0',
   /* "thesearchnerds.co.uk", true */ 't', 'h', 'e', 's', 'e', 'a', 'r', 'c', 'h', 'n', 'e', 'r', 'd', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "theseed.io", true */ 't', 'h', 'e', 's', 'e', 'e', 'd', '.', 'i', 'o', '\0',
   /* "theseedbox.xyz", true */ 't', 'h', 'e', 's', 'e', 'e', 'd', 'b', 'o', 'x', '.', 'x', 'y', 'z', '\0',
   /* "thesehighsandlows.com", true */ 't', 'h', 'e', 's', 'e', 'h', 'i', 'g', 'h', 's', 'a', 'n', 'd', 'l', 'o', 'w', 's', '.', 'c', 'o', 'm', '\0',
@@ -19028,17 +19013,16 @@ static const char kSTSHostTable[] = {
   /* "thevgg.com", true */ 't', 'h', 'e', 'v', 'g', 'g', '.', 'c', 'o', 'm', '\0',
   /* "thewebsitemarketingagency.com", true */ 't', 'h', 'e', 'w', 'e', 'b', 's', 'i', 't', 'e', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', 'a', 'g', 'e', 'n', 'c', 'y', '.', 'c', 'o', 'm', '\0',
   /* "theweilai.com", false */ 't', 'h', 'e', 'w', 'e', 'i', 'l', 'a', 'i', '.', 'c', 'o', 'm', '\0',
   /* "thewhitehat.club", true */ 't', 'h', 'e', 'w', 'h', 'i', 't', 'e', 'h', 'a', 't', '.', 'c', 'l', 'u', 'b', '\0',
   /* "thewhiterabbit.space", true */ 't', 'h', 'e', 'w', 'h', 'i', 't', 'e', 'r', 'a', 'b', 'b', 'i', 't', '.', 's', 'p', 'a', 'c', 'e', '\0',
   /* "thewhitneypaige.com", true */ 't', 'h', 'e', 'w', 'h', 'i', 't', 'n', 'e', 'y', 'p', 'a', 'i', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "thewindow.com", true */ 't', 'h', 'e', 'w', 'i', 'n', 'd', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "thewoodkid.com.au", true */ 't', 'h', 'e', 'w', 'o', 'o', 'd', 'k', 'i', 'd', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
-  /* "theworkingeye.nl", true */ 't', 'h', 'e', 'w', 'o', 'r', 'k', 'i', 'n', 'g', 'e', 'y', 'e', '.', 'n', 'l', '\0',
   /* "theworldsend.eu", true */ 't', 'h', 'e', 'w', 'o', 'r', 'l', 'd', 's', 'e', 'n', 'd', '.', 'e', 'u', '\0',
   /* "thexme.de", true */ 't', 'h', 'e', 'x', 'm', 'e', '.', 'd', 'e', '\0',
   /* "theyear199x.org", true */ 't', 'h', 'e', 'y', 'e', 'a', 'r', '1', '9', '9', 'x', '.', 'o', 'r', 'g', '\0',
   /* "theyearinpictures.co.uk", true */ 't', 'h', 'e', 'y', 'e', 'a', 'r', 'i', 'n', 'p', 'i', 'c', 't', 'u', 'r', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "theyosh.nl", true */ 't', 'h', 'e', 'y', 'o', 's', 'h', '.', 'n', 'l', '\0',
   /* "thezero.org", true */ 't', 'h', 'e', 'z', 'e', 'r', 'o', '.', 'o', 'r', 'g', '\0',
   /* "thibautcharles.net", true */ 't', 'h', 'i', 'b', 'a', 'u', 't', 'c', 'h', 'a', 'r', 'l', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "thierryhayoz.ch", true */ 't', 'h', 'i', 'e', 'r', 'r', 'y', 'h', 'a', 'y', 'o', 'z', '.', 'c', 'h', '\0',
@@ -19216,17 +19200,16 @@ static const char kSTSHostTable[] = {
   /* "tkts.cl", true */ 't', 'k', 't', 's', '.', 'c', 'l', '\0',
   /* "tkusano.jp", true */ 't', 'k', 'u', 's', 'a', 'n', 'o', '.', 'j', 'p', '\0',
   /* "tlach.cz", true */ 't', 'l', 'a', 'c', 'h', '.', 'c', 'z', '\0',
   /* "tlo.xyz", true */ 't', 'l', 'o', '.', 'x', 'y', 'z', '\0',
   /* "tloxygen.com", true */ 't', 'l', 'o', 'x', 'y', 'g', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "tls.builders", true */ 't', 'l', 's', '.', 'b', 'u', 'i', 'l', 'd', 'e', 'r', 's', '\0',
   /* "tls.care", true */ 't', 'l', 's', '.', 'c', 'a', 'r', 'e', '\0',
   /* "tls1914.org", true */ 't', 'l', 's', '1', '9', '1', '4', '.', 'o', 'r', 'g', '\0',
-  /* "tlshost.net", true */ 't', 'l', 's', 'h', 'o', 's', 't', '.', 'n', 'e', 't', '\0',
   /* "tlthings.net", true */ 't', 'l', 't', 'h', 'i', 'n', 'g', 's', '.', 'n', 'e', 't', '\0',
   /* "tlys.de", true */ 't', 'l', 'y', 's', '.', 'd', 'e', '\0',
   /* "tm.id.au", true */ 't', 'm', '.', 'i', 'd', '.', 'a', 'u', '\0',
   /* "tmberg.cf", true */ 't', 'm', 'b', 'e', 'r', 'g', '.', 'c', 'f', '\0',
   /* "tmberg.ga", true */ 't', 'm', 'b', 'e', 'r', 'g', '.', 'g', 'a', '\0',
   /* "tmberg.gq", true */ 't', 'm', 'b', 'e', 'r', 'g', '.', 'g', 'q', '\0',
   /* "tmberg.ml", true */ 't', 'm', 'b', 'e', 'r', 'g', '.', 'm', 'l', '\0',
   /* "tmberg.tk", true */ 't', 'm', 'b', 'e', 'r', 'g', '.', 't', 'k', '\0',
@@ -19589,16 +19572,17 @@ static const char kSTSHostTable[] = {
   /* "trentmaydew.com", true */ 't', 'r', 'e', 'n', 't', 'm', 'a', 'y', 'd', 'e', 'w', '.', 'c', 'o', 'm', '\0',
   /* "tresorit.com", true */ 't', 'r', 'e', 's', 'o', 'r', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "tresorsecurity.com", true */ 't', 'r', 'e', 's', 'o', 'r', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "tretail.net", true */ 't', 'r', 'e', 't', 'a', 'i', 'l', '.', 'n', 'e', 't', '\0',
   /* "tretkowski.de", true */ 't', 'r', 'e', 't', 'k', 'o', 'w', 's', 'k', 'i', '.', 'd', 'e', '\0',
   /* "trewe.eu", true */ 't', 'r', 'e', 'w', 'e', '.', 'e', 'u', '\0',
   /* "triadwars.com", true */ 't', 'r', 'i', 'a', 'd', 'w', 'a', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "trialcentralnet.com", true */ 't', 'r', 'i', 'a', 'l', 'c', 'e', 'n', 't', 'r', 'a', 'l', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0',
+  /* "tribaldos.com", true */ 't', 'r', 'i', 'b', 'a', 'l', 'd', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "tribut.de", true */ 't', 'r', 'i', 'b', 'u', 't', '.', 'd', 'e', '\0',
   /* "tributh.net", true */ 't', 'r', 'i', 'b', 'u', 't', 'h', '.', 'n', 'e', 't', '\0',
   /* "triddi.com", true */ 't', 'r', 'i', 'd', 'd', 'i', '.', 'c', 'o', 'm', '\0',
   /* "trident-online.de", true */ 't', 'r', 'i', 'd', 'e', 'n', 't', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0',
   /* "tridentflood.com", true */ 't', 'r', 'i', 'd', 'e', 'n', 't', 'f', 'l', 'o', 'o', 'd', '.', 'c', 'o', 'm', '\0',
   /* "trietment.com", true */ 't', 'r', 'i', 'e', 't', 'm', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "trigardon-rg.de", true */ 't', 'r', 'i', 'g', 'a', 'r', 'd', 'o', 'n', '-', 'r', 'g', '.', 'd', 'e', '\0',
   /* "trigular.de", true */ 't', 'r', 'i', 'g', 'u', 'l', 'a', 'r', '.', 'd', 'e', '\0',
@@ -19834,17 +19818,16 @@ static const char kSTSHostTable[] = {
   /* "uevan.com", true */ 'u', 'e', 'v', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "uex.im", true */ 'u', 'e', 'x', '.', 'i', 'm', '\0',
   /* "ufindme.at", true */ 'u', 'f', 'i', 'n', 'd', 'm', 'e', '.', 'a', 't', '\0',
   /* "ufo.moe", true */ 'u', 'f', 'o', '.', 'm', 'o', 'e', '\0',
   /* "ufplanets.com", true */ 'u', 'f', 'p', 'l', 'a', 'n', 'e', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "ugcdn.com", true */ 'u', 'g', 'c', 'd', 'n', '.', 'c', 'o', 'm', '\0',
   /* "uggedal.com", true */ 'u', 'g', 'g', 'e', 'd', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "ugisgutless.com", true */ 'u', 'g', 'i', 's', 'g', 'u', 't', 'l', 'e', 's', 's', '.', 'c', 'o', 'm', '\0',
-  /* "ugo.ninja", true */ 'u', 'g', 'o', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "uhc.gg", true */ 'u', 'h', 'c', '.', 'g', 'g', '\0',
   /* "uhrenlux.de", true */ 'u', 'h', 'r', 'e', 'n', 'l', 'u', 'x', '.', 'd', 'e', '\0',
   /* "uicchy.com", true */ 'u', 'i', 'c', 'c', 'h', 'y', '.', 'c', 'o', 'm', '\0',
   /* "uiop.link", true */ 'u', 'i', 'o', 'p', '.', 'l', 'i', 'n', 'k', '\0',
   /* "ujob.com.cn", true */ 'u', 'j', 'o', 'b', '.', 'c', 'o', 'm', '.', 'c', 'n', '\0',
   /* "uk.dating", true */ 'u', 'k', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "uk.search.yahoo.com", false */ 'u', 'k', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "ukchemicalresearch.org", false */ 'u', 'k', 'c', 'h', 'e', 'm', 'i', 'c', 'a', 'l', 'r', 'e', 's', 'e', 'a', 'r', 'c', 'h', '.', 'o', 'r', 'g', '\0',
@@ -19967,16 +19950,17 @@ static const char kSTSHostTable[] = {
   /* "unser-gartenforum.de", true */ 'u', 'n', 's', 'e', 'r', '-', 'g', 'a', 'r', 't', 'e', 'n', 'f', 'o', 'r', 'u', 'm', '.', 'd', 'e', '\0',
   /* "unsupervised.ca", true */ 'u', 'n', 's', 'u', 'p', 'e', 'r', 'v', 'i', 's', 'e', 'd', '.', 'c', 'a', '\0',
   /* "unsuspicious.click", true */ 'u', 'n', 's', 'u', 's', 'p', 'i', 'c', 'i', 'o', 'u', 's', '.', 'c', 'l', 'i', 'c', 'k', '\0',
   /* "unterfrankenclan.de", true */ 'u', 'n', 't', 'e', 'r', 'f', 'r', 'a', 'n', 'k', 'e', 'n', 'c', 'l', 'a', 'n', '.', 'd', 'e', '\0',
   /* "unterschicht.tv", true */ 'u', 'n', 't', 'e', 'r', 's', 'c', 'h', 'i', 'c', 'h', 't', '.', 't', 'v', '\0',
   /* "untoldstory.eu", true */ 'u', 'n', 't', 'o', 'l', 'd', 's', 't', 'o', 'r', 'y', '.', 'e', 'u', '\0',
   /* "unun.fi", true */ 'u', 'n', 'u', 'n', '.', 'f', 'i', '\0',
   /* "unveiledgnosis.com", true */ 'u', 'n', 'v', 'e', 'i', 'l', 'e', 'd', 'g', 'n', 'o', 's', 'i', 's', '.', 'c', 'o', 'm', '\0',
+  /* "unwomen.is", true */ 'u', 'n', 'w', 'o', 'm', 'e', 'n', '.', 'i', 's', '\0',
   /* "unx.dk", true */ 'u', 'n', 'x', '.', 'd', 'k', '\0',
   /* "unxicdellum.cat", true */ 'u', 'n', 'x', 'i', 'c', 'd', 'e', 'l', 'l', 'u', 'm', '.', 'c', 'a', 't', '\0',
   /* "upandclear.org", true */ 'u', 'p', 'a', 'n', 'd', 'c', 'l', 'e', 'a', 'r', '.', 'o', 'r', 'g', '\0',
   /* "upani.net", true */ 'u', 'p', 'a', 'n', 'i', '.', 'n', 'e', 't', '\0',
   /* "upay.ru", true */ 'u', 'p', 'a', 'y', '.', 'r', 'u', '\0',
   /* "upbeatrobot.com", true */ 'u', 'p', 'b', 'e', 'a', 't', 'r', 'o', 'b', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "upgauged.com", true */ 'u', 'p', 'g', 'a', 'u', 'g', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "upitnik.rs", true */ 'u', 'p', 'i', 't', 'n', 'i', 'k', '.', 'r', 's', '\0',
@@ -20131,16 +20115,17 @@ static const char kSTSHostTable[] = {
   /* "vanajahosting.com", true */ 'v', 'a', 'n', 'a', 'j', 'a', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "vandalfsen.me", true */ 'v', 'a', 'n', 'd', 'a', 'l', 'f', 's', 'e', 'n', '.', 'm', 'e', '\0',
   /* "vandam.io", true */ 'v', 'a', 'n', 'd', 'a', 'm', '.', 'i', 'o', '\0',
   /* "vande-walle.eu", true */ 'v', 'a', 'n', 'd', 'e', '-', 'w', 'a', 'l', 'l', 'e', '.', 'e', 'u', '\0',
   /* "vandenbroeck-usedcars.be", true */ 'v', 'a', 'n', 'd', 'e', 'n', 'b', 'r', 'o', 'e', 'c', 'k', '-', 'u', 's', 'e', 'd', 'c', 'a', 'r', 's', '.', 'b', 'e', '\0',
   /* "vandeput.be", true */ 'v', 'a', 'n', 'd', 'e', 'p', 'u', 't', '.', 'b', 'e', '\0',
   /* "vanderkrieken.org", true */ 'v', 'a', 'n', 'd', 'e', 'r', 'k', 'r', 'i', 'e', 'k', 'e', 'n', '.', 'o', 'r', 'g', '\0',
   /* "vanderrijt.nl", true */ 'v', 'a', 'n', 'd', 'e', 'r', 'r', 'i', 'j', 't', '.', 'n', 'l', '\0',
+  /* "vanderstraeten.dynv6.net", true */ 'v', 'a', 'n', 'd', 'e', 'r', 's', 't', 'r', 'a', 'e', 't', 'e', 'n', '.', 'd', 'y', 'n', 'v', '6', '.', 'n', 'e', 't', '\0',
   /* "vanderziel.org", true */ 'v', 'a', 'n', 'd', 'e', 'r', 'z', 'i', 'e', 'l', '.', 'o', 'r', 'g', '\0',
   /* "vanessabalibridal.com", true */ 'v', 'a', 'n', 'e', 's', 's', 'a', 'b', 'a', 'l', 'i', 'b', 'r', 'i', 'd', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "vangeluwedeberlaere.be", true */ 'v', 'a', 'n', 'g', 'e', 'l', 'u', 'w', 'e', 'd', 'e', 'b', 'e', 'r', 'l', 'a', 'e', 'r', 'e', '.', 'b', 'e', '\0',
   /* "vanhoudt-usedcars.be", true */ 'v', 'a', 'n', 'h', 'o', 'u', 'd', 't', '-', 'u', 's', 'e', 'd', 'c', 'a', 'r', 's', '.', 'b', 'e', '\0',
   /* "vanhoutte.be", false */ 'v', 'a', 'n', 'h', 'o', 'u', 't', 't', 'e', '.', 'b', 'e', '\0',
   /* "vanhove.biz", true */ 'v', 'a', 'n', 'h', 'o', 'v', 'e', '.', 'b', 'i', 'z', '\0',
   /* "vanlaanen.com", true */ 'v', 'a', 'n', 'l', 'a', 'a', 'n', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "vanmalland.com", true */ 'v', 'a', 'n', 'm', 'a', 'l', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0',
@@ -20223,17 +20208,16 @@ static const char kSTSHostTable[] = {
   /* "vendigital.com", true */ 'v', 'e', 'n', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "vendorconnect.nyc", true */ 'v', 'e', 'n', 'd', 'o', 'r', 'c', 'o', 'n', 'n', 'e', 'c', 't', '.', 'n', 'y', 'c', '\0',
   /* "venicecomputerrepair.com", true */ 'v', 'e', 'n', 'i', 'c', 'e', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 'r', 'e', 'p', 'a', 'i', 'r', '.', 'c', 'o', 'm', '\0',
   /* "venicerealdeal.com", true */ 'v', 'e', 'n', 'i', 'c', 'e', 'r', 'e', 'a', 'l', 'd', 'e', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "venmos.com", true */ 'v', 'e', 'n', 'm', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "vennet.fr", true */ 'v', 'e', 'n', 'n', 'e', 't', '.', 'f', 'r', '\0',
   /* "venoom.eu", true */ 'v', 'e', 'n', 'o', 'o', 'm', '.', 'e', 'u', '\0',
   /* "ventesprivees-fr.com", true */ 'v', 'e', 'n', 't', 'e', 's', 'p', 'r', 'i', 'v', 'e', 'e', 's', '-', 'f', 'r', '.', 'c', 'o', 'm', '\0',
-  /* "venturepro.com", true */ 'v', 'e', 'n', 't', 'u', 'r', 'e', 'p', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "venzocrm.com", true */ 'v', 'e', 'n', 'z', 'o', 'c', 'r', 'm', '.', 'c', 'o', 'm', '\0',
   /* "veramagazine.jp", true */ 'v', 'e', 'r', 'a', 'm', 'a', 'g', 'a', 'z', 'i', 'n', 'e', '.', 'j', 'p', '\0',
   /* "verberne.nu", true */ 'v', 'e', 'r', 'b', 'e', 'r', 'n', 'e', '.', 'n', 'u', '\0',
   /* "verdeandco.co.uk", true */ 'v', 'e', 'r', 'd', 'e', 'a', 'n', 'd', 'c', 'o', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "verdict.gg", true */ 'v', 'e', 'r', 'd', 'i', 'c', 't', '.', 'g', 'g', '\0',
   /* "verein-kiekin.de", true */ 'v', 'e', 'r', 'e', 'i', 'n', '-', 'k', 'i', 'e', 'k', 'i', 'n', '.', 'd', 'e', '\0',
   /* "vereinlandwege.de", true */ 'v', 'e', 'r', 'e', 'i', 'n', 'l', 'a', 'n', 'd', 'w', 'e', 'g', 'e', '.', 'd', 'e', '\0',
   /* "vereinscheck.de", true */ 'v', 'e', 'r', 'e', 'i', 'n', 's', 'c', 'h', 'e', 'c', 'k', '.', 'd', 'e', '\0',
@@ -20345,17 +20329,16 @@ static const char kSTSHostTable[] = {
   /* "vintagejeeps.net", true */ 'v', 'i', 'n', 't', 'a', 'g', 'e', 'j', 'e', 'e', 'p', 's', '.', 'n', 'e', 't', '\0',
   /* "vintageportgifts.co.uk", true */ 'v', 'i', 'n', 't', 'a', 'g', 'e', 'p', 'o', 'r', 't', 'g', 'i', 'f', 't', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "vintagetrailerbuyers.com", true */ 'v', 'i', 'n', 't', 'a', 'g', 'e', 't', 'r', 'a', 'i', 'l', 'e', 'r', 'b', 'u', 'y', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "vintazh.net", true */ 'v', 'i', 'n', 't', 'a', 'z', 'h', '.', 'n', 'e', 't', '\0',
   /* "vinyculture.com", true */ 'v', 'i', 'n', 'y', 'c', 'u', 'l', 't', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "violetraven.co.uk", true */ 'v', 'i', 'o', 'l', 'e', 't', 'r', 'a', 'v', 'e', 'n', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "violin4fun.nl", true */ 'v', 'i', 'o', 'l', 'i', 'n', '4', 'f', 'u', 'n', '.', 'n', 'l', '\0',
   /* "viosey.com", true */ 'v', 'i', 'o', 's', 'e', 'y', '.', 'c', 'o', 'm', '\0',
-  /* "vipi.es", true */ 'v', 'i', 'p', 'i', '.', 'e', 's', '\0',
   /* "vipnettikasinoklubi.com", true */ 'v', 'i', 'p', 'n', 'e', 't', 't', 'i', 'k', 'a', 's', 'i', 'n', 'o', 'k', 'l', 'u', 'b', 'i', '.', 'c', 'o', 'm', '\0',
   /* "viral8.jp", true */ 'v', 'i', 'r', 'a', 'l', '8', '.', 'j', 'p', '\0',
   /* "virtualdesignmedia.com", false */ 'v', 'i', 'r', 't', 'u', 'a', 'l', 'd', 'e', 's', 'i', 'g', 'n', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "virtuallifestyle.nl", true */ 'v', 'i', 'r', 't', 'u', 'a', 'l', 'l', 'i', 'f', 'e', 's', 't', 'y', 'l', 'e', '.', 'n', 'l', '\0',
   /* "virtualperez.com", false */ 'v', 'i', 'r', 't', 'u', 'a', 'l', 'p', 'e', 'r', 'e', 'z', '.', 'c', 'o', 'm', '\0',
   /* "virtualsanity.com", true */ 'v', 'i', 'r', 't', 'u', 'a', 'l', 's', 'a', 'n', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "virtualstrongbox.ca", true */ 'v', 'i', 'r', 't', 'u', 'a', 'l', 's', 't', 'r', 'o', 'n', 'g', 'b', 'o', 'x', '.', 'c', 'a', '\0',
   /* "virtubox.net", true */ 'v', 'i', 'r', 't', 'u', 'b', 'o', 'x', '.', 'n', 'e', 't', '\0',
@@ -20589,17 +20572,16 @@ static const char kSTSHostTable[] = {
   /* "wasserspucker.de", true */ 'w', 'a', 's', 's', 'e', 'r', 's', 'p', 'u', 'c', 'k', 'e', 'r', '.', 'd', 'e', '\0',
   /* "wassibauer.com", true */ 'w', 'a', 's', 's', 'i', 'b', 'a', 'u', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "wassim.is", true */ 'w', 'a', 's', 's', 'i', 'm', '.', 'i', 's', '\0',
   /* "watchface.watch", true */ 'w', 'a', 't', 'c', 'h', 'f', 'a', 'c', 'e', '.', 'w', 'a', 't', 'c', 'h', '\0',
   /* "watchinventory.com", true */ 'w', 'a', 't', 'c', 'h', 'i', 'n', 'v', 'e', 'n', 't', 'o', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "watchstyle.com", true */ 'w', 'a', 't', 'c', 'h', 's', 't', 'y', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "watchweasel.com", true */ 'w', 'a', 't', 'c', 'h', 'w', 'e', 'a', 's', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "waterfedpole.com", true */ 'w', 'a', 't', 'e', 'r', 'f', 'e', 'd', 'p', 'o', 'l', 'e', '.', 'c', 'o', 'm', '\0',
-  /* "waterforlife.net.au", true */ 'w', 'a', 't', 'e', 'r', 'f', 'o', 'r', 'l', 'i', 'f', 'e', '.', 'n', 'e', 't', '.', 'a', 'u', '\0',
   /* "watermonitor.gov", true */ 'w', 'a', 't', 'e', 'r', 'm', 'o', 'n', 'i', 't', 'o', 'r', '.', 'g', 'o', 'v', '\0',
   /* "watersb.org", true */ 'w', 'a', 't', 'e', 'r', 's', 'b', '.', 'o', 'r', 'g', '\0',
   /* "watertrails.io", true */ 'w', 'a', 't', 'e', 'r', 't', 'r', 'a', 'i', 'l', 's', '.', 'i', 'o', '\0',
   /* "watsonwork.me", true */ 'w', 'a', 't', 's', 'o', 'n', 'w', 'o', 'r', 'k', '.', 'm', 'e', '\0',
   /* "wattechweb.com", true */ 'w', 'a', 't', 't', 'e', 'c', 'h', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
   /* "wavesboardshop.com", true */ 'w', 'a', 'v', 'e', 's', 'b', 'o', 'a', 'r', 'd', 's', 'h', 'o', 'p', '.', 'c', 'o', 'm', '\0',
   /* "wavesoftime.com", true */ 'w', 'a', 'v', 'e', 's', 'o', 'f', 't', 'i', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "wawak.pl", true */ 'w', 'a', 'w', 'a', 'k', '.', 'p', 'l', '\0',
@@ -20896,16 +20878,17 @@ static const char kSTSHostTable[] = {
   /* "wiedu.net", true */ 'w', 'i', 'e', 'd', 'u', '.', 'n', 'e', 't', '\0',
   /* "wiegedaten.de", true */ 'w', 'i', 'e', 'g', 'e', 'd', 'a', 't', 'e', 'n', '.', 'd', 'e', '\0',
   /* "wienergyjobs.com", true */ 'w', 'i', 'e', 'n', 'e', 'r', 'g', 'y', 'j', 'o', 'b', 's', '.', 'c', 'o', 'm', '\0',
   /* "wificafehosting.com", true */ 'w', 'i', 'f', 'i', 'c', 'a', 'f', 'e', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "wifimapa.cz", true */ 'w', 'i', 'f', 'i', 'm', 'a', 'p', 'a', '.', 'c', 'z', '\0',
   /* "wifimask.com", true */ 'w', 'i', 'f', 'i', 'm', 'a', 's', 'k', '.', 'c', 'o', 'm', '\0',
   /* "wifipineapple.com", true */ 'w', 'i', 'f', 'i', 'p', 'i', 'n', 'e', 'a', 'p', 'p', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "wifirst.net", true */ 'w', 'i', 'f', 'i', 'r', 's', 't', '.', 'n', 'e', 't', '\0',
+  /* "wifree.lv", true */ 'w', 'i', 'f', 'r', 'e', 'e', '.', 'l', 'v', '\0',
   /* "wigggle.it", true */ 'w', 'i', 'g', 'g', 'g', 'l', 'e', '.', 'i', 't', '\0',
   /* "wigle.net", true */ 'w', 'i', 'g', 'l', 'e', '.', 'n', 'e', 't', '\0',
   /* "wiimotion.de", true */ 'w', 'i', 'i', 'm', 'o', 't', 'i', 'o', 'n', '.', 'd', 'e', '\0',
   /* "wijnservices.nl", false */ 'w', 'i', 'j', 'n', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '.', 'n', 'l', '\0',
   /* "wiki.python.org", true */ 'w', 'i', 'k', 'i', '.', 'p', 'y', 't', 'h', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "wikibooks.org", true */ 'w', 'i', 'k', 'i', 'b', 'o', 'o', 'k', 's', '.', 'o', 'r', 'g', '\0',
   /* "wikidata.org", true */ 'w', 'i', 'k', 'i', 'd', 'a', 't', 'a', '.', 'o', 'r', 'g', '\0',
   /* "wikidsystems.com", false */ 'w', 'i', 'k', 'i', 'd', 's', 'y', 's', 't', 'e', 'm', 's', '.', 'c', 'o', 'm', '\0',
@@ -20950,16 +20933,17 @@ static const char kSTSHostTable[] = {
   /* "wimake.solutions", true */ 'w', 'i', 'm', 'a', 'k', 'e', '.', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '\0',
   /* "wimbo.nl", true */ 'w', 'i', 'm', 'b', 'o', '.', 'n', 'l', '\0',
   /* "winbuzzer.com", true */ 'w', 'i', 'n', 'b', 'u', 'z', 'z', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "wind.moe", true */ 'w', 'i', 'n', 'd', '.', 'm', 'o', 'e', '\0',
   /* "windelnkaufen24.de", true */ 'w', 'i', 'n', 'd', 'e', 'l', 'n', 'k', 'a', 'u', 'f', 'e', 'n', '2', '4', '.', 'd', 'e', '\0',
   /* "windhaven.nl", false */ 'w', 'i', 'n', 'd', 'h', 'a', 'v', 'e', 'n', '.', 'n', 'l', '\0',
   /* "windholz.us", true */ 'w', 'i', 'n', 'd', 'h', 'o', 'l', 'z', '.', 'u', 's', '\0',
   /* "windowcleaningexperts.net", true */ 'w', 'i', 'n', 'd', 'o', 'w', 'c', 'l', 'e', 'a', 'n', 'i', 'n', 'g', 'e', 'x', 'p', 'e', 'r', 't', 's', '.', 'n', 'e', 't', '\0',
+  /* "windows10insider.com", true */ 'w', 'i', 'n', 'd', 'o', 'w', 's', '1', '0', 'i', 'n', 's', 'i', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "windowsnerd.com", true */ 'w', 'i', 'n', 'd', 'o', 'w', 's', 'n', 'e', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "windrunner.se", true */ 'w', 'i', 'n', 'd', 'r', 'u', 'n', 'n', 'e', 'r', '.', 's', 'e', '\0',
   /* "winds.cf", true */ 'w', 'i', 'n', 'd', 's', '.', 'c', 'f', '\0',
   /* "windscribe.com", true */ 'w', 'i', 'n', 'd', 's', 'c', 'r', 'i', 'b', 'e', '.', 'c', 'o', 'm', '\0',
   /* "windwoodmedia.com", true */ 'w', 'i', 'n', 'd', 'w', 'o', 'o', 'd', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "windwoodweb.com", true */ 'w', 'i', 'n', 'd', 'w', 'o', 'o', 'd', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
   /* "windycitydubfest.com", true */ 'w', 'i', 'n', 'd', 'y', 'c', 'i', 't', 'y', 'd', 'u', 'b', 'f', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "wine-importer.ru", true */ 'w', 'i', 'n', 'e', '-', 'i', 'm', 'p', 'o', 'r', 't', 'e', 'r', '.', 'r', 'u', '\0',
@@ -21221,16 +21205,17 @@ static const char kSTSHostTable[] = {
   /* "www.messenger.com", true */ 'w', 'w', 'w', '.', 'm', 'e', 's', 's', 'e', 'n', 'g', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "www.mydigipass.com", false */ 'w', 'w', 'w', '.', 'm', 'y', 'd', 'i', 'g', 'i', 'p', 'a', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "www.mylookout.com", false */ 'w', 'w', 'w', '.', 'm', 'y', 'l', 'o', 'o', 'k', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
   /* "www.noisebridge.net", false */ 'w', 'w', 'w', '.', 'n', 'o', 'i', 's', 'e', 'b', 'r', 'i', 'd', 'g', 'e', '.', 'n', 'e', 't', '\0',
   /* "www.opsmate.com", true */ 'w', 'w', 'w', '.', 'o', 'p', 's', 'm', 'a', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "www.paypal.com", false */ 'w', 'w', 'w', '.', 'p', 'a', 'y', 'p', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "www.python.org", true */ 'w', 'w', 'w', '.', 'p', 'y', 't', 'h', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "www.rememberthemilk.com", true */ 'w', 'w', 'w', '.', 'r', 'e', 'm', 'e', 'm', 'b', 'e', 'r', 't', 'h', 'e', 'm', 'i', 'l', 'k', '.', 'c', 'o', 'm', '\0',
+  /* "www.sb", true */ 'w', 'w', 'w', '.', 's', 'b', '\0',
   /* "www.schokokeks.org", true */ 'w', 'w', 'w', '.', 's', 'c', 'h', 'o', 'k', 'o', 'k', 'e', 'k', 's', '.', 'o', 'r', 'g', '\0',
   /* "www.simple.com", false */ 'w', 'w', 'w', '.', 's', 'i', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "www.theguardian.com", true */ 'w', 'w', 'w', '.', 't', 'h', 'e', 'g', 'u', 'a', 'r', 'd', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "www.therapynotes.com", true */ 'w', 'w', 'w', '.', 't', 'h', 'e', 'r', 'a', 'p', 'y', 'n', 'o', 't', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "www.tinfoilsecurity.com", false */ 'w', 'w', 'w', '.', 't', 'i', 'n', 'f', 'o', 'i', 'l', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "www.torproject.org", false */ 'w', 'w', 'w', '.', 't', 'o', 'r', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "www.twitter.com", false */ 'w', 'w', 'w', '.', 't', 'w', 'i', 't', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "www.united.com", true */ 'w', 'w', 'w', '.', 'u', 'n', 'i', 't', 'e', 'd', '.', 'c', 'o', 'm', '\0',
@@ -21326,17 +21311,16 @@ static const char kSTSHostTable[] = {
   /* "xing.ml", true */ 'x', 'i', 'n', 'g', '.', 'm', 'l', '\0',
   /* "xiqi.us", true */ 'x', 'i', 'q', 'i', '.', 'u', 's', '\0',
   /* "xirion.net", true */ 'x', 'i', 'r', 'i', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "xivpn.com", true */ 'x', 'i', 'v', 'p', 'n', '.', 'c', 'o', 'm', '\0',
   /* "xkbcommon.org", false */ 'x', 'k', 'b', 'c', 'o', 'm', 'm', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "xkcd.pw", true */ 'x', 'k', 'c', 'd', '.', 'p', 'w', '\0',
   /* "xkviz.net", true */ 'x', 'k', 'v', 'i', 'z', '.', 'n', 'e', 't', '\0',
   /* "xlange.com", true */ 'x', 'l', 'a', 'n', 'g', 'e', '.', 'c', 'o', 'm', '\0',
-  /* "xlii.io", true */ 'x', 'l', 'i', 'i', '.', 'i', 'o', '\0',
   /* "xmedius.com", false */ 'x', 'm', 'e', 'd', 'i', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "xmedius.eu", true */ 'x', 'm', 'e', 'd', 'i', 'u', 's', '.', 'e', 'u', '\0',
   /* "xmlbeam.org", true */ 'x', 'm', 'l', 'b', 'e', 'a', 'm', '.', 'o', 'r', 'g', '\0',
   /* "xmpp.dk", true */ 'x', 'm', 'p', 'p', '.', 'd', 'k', '\0',
   /* "xmppwocky.net", true */ 'x', 'm', 'p', 'p', 'w', 'o', 'c', 'k', 'y', '.', 'n', 'e', 't', '\0',
   /* "xmr.to", true */ 'x', 'm', 'r', '.', 't', 'o', '\0',
   /* "xmv.cz", true */ 'x', 'm', 'v', '.', 'c', 'z', '\0',
   /* "xn----7sbmucgqdbgwwc5e9b.xn--p1ai", true */ 'x', 'n', '-', '-', '-', '-', '7', 's', 'b', 'm', 'u', 'c', 'g', 'q', 'd', 'b', 'g', 'w', 'w', 'c', '5', 'e', '9', 'b', '.', 'x', 'n', '-', '-', 'p', '1', 'a', 'i', '\0',
@@ -21631,17 +21615,16 @@ static const char kSTSHostTable[] = {
   /* "yukonrefugees.com", true */ 'y', 'u', 'k', 'o', 'n', 'r', 'e', 'f', 'u', 'g', 'e', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "yukontec.com", true */ 'y', 'u', 'k', 'o', 'n', 't', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "yum.beer", true */ 'y', 'u', 'm', '.', 'b', 'e', 'e', 'r', '\0',
   /* "yunity.org", true */ 'y', 'u', 'n', 'i', 't', 'y', '.', 'o', 'r', 'g', '\0',
   /* "yunjishou.pro", true */ 'y', 'u', 'n', 'j', 'i', 's', 'h', 'o', 'u', '.', 'p', 'r', 'o', '\0',
   /* "yuricarlenzoli.it", true */ 'y', 'u', 'r', 'i', 'c', 'a', 'r', 'l', 'e', 'n', 'z', 'o', 'l', 'i', '.', 'i', 't', '\0',
   /* "yurikirin.me", true */ 'y', 'u', 'r', 'i', 'k', 'i', 'r', 'i', 'n', '.', 'm', 'e', '\0',
   /* "yusa.me", true */ 'y', 'u', 's', 'a', '.', 'm', 'e', '\0',
-  /* "yutangyun.com", true */ 'y', 'u', 't', 'a', 'n', 'g', 'y', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "yuwei.org", true */ 'y', 'u', 'w', 'e', 'i', '.', 'o', 'r', 'g', '\0',
   /* "yux.fr", true */ 'y', 'u', 'x', '.', 'f', 'r', '\0',
   /* "yuxingxin.com", true */ 'y', 'u', 'x', 'i', 'n', 'g', 'x', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "yuzu.tk", true */ 'y', 'u', 'z', 'u', '.', 't', 'k', '\0',
   /* "yveshield.com", true */ 'y', 'v', 'e', 's', 'h', 'i', 'e', 'l', 'd', '.', 'c', 'o', 'm', '\0',
   /* "yveslegendre.fr", true */ 'y', 'v', 'e', 's', 'l', 'e', 'g', 'e', 'n', 'd', 'r', 'e', '.', 'f', 'r', '\0',
   /* "yvesx.com", true */ 'y', 'v', 'e', 's', 'x', '.', 'c', 'o', 'm', '\0',
   /* "yvonnehaeusser.de", true */ 'y', 'v', 'o', 'n', 'n', 'e', 'h', 'a', 'e', 'u', 's', 's', 'e', 'r', '.', 'd', 'e', '\0',
@@ -21668,16 +21651,17 @@ static const char kSTSHostTable[] = {
   /* "zaidanfood.eu", true */ 'z', 'a', 'i', 'd', 'a', 'n', 'f', 'o', 'o', 'd', '.', 'e', 'u', '\0',
   /* "zaidanlebensmittelhandel.de", true */ 'z', 'a', 'i', 'd', 'a', 'n', 'l', 'e', 'b', 'e', 'n', 's', 'm', 'i', 't', 't', 'e', 'l', 'h', 'a', 'n', 'd', 'e', 'l', '.', 'd', 'e', '\0',
   /* "zajazd.biz", true */ 'z', 'a', 'j', 'a', 'z', 'd', '.', 'b', 'i', 'z', '\0',
   /* "zakcutner.uk", true */ 'z', 'a', 'k', 'c', 'u', 't', 'n', 'e', 'r', '.', 'u', 'k', '\0',
   /* "zakladam.cz", true */ 'z', 'a', 'k', 'l', 'a', 'd', 'a', 'm', '.', 'c', 'z', '\0',
   /* "zakmccrac.de", true */ 'z', 'a', 'k', 'm', 'c', 'c', 'r', 'a', 'c', '.', 'd', 'e', '\0',
   /* "zakr.es", true */ 'z', 'a', 'k', 'r', '.', 'e', 's', '\0',
   /* "zalan.do", true */ 'z', 'a', 'l', 'a', 'n', '.', 'd', 'o', '\0',
+  /* "zamis.net", true */ 'z', 'a', 'm', 'i', 's', '.', 'n', 'e', 't', '\0',
   /* "zandcell.com", true */ 'z', 'a', 'n', 'd', 'c', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "zaoshanghao-dajia.rhcloud.com", true */ 'z', 'a', 'o', 's', 'h', 'a', 'n', 'g', 'h', 'a', 'o', '-', 'd', 'a', 'j', 'i', 'a', '.', 'r', 'h', 'c', 'l', 'o', 'u', 'd', '.', 'c', 'o', 'm', '\0',
   /* "zapier.com", true */ 'z', 'a', 'p', 'i', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "zappbuildapps.com", true */ 'z', 'a', 'p', 'p', 'b', 'u', 'i', 'l', 'd', 'a', 'p', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "zaratan.fr", true */ 'z', 'a', 'r', 'a', 't', 'a', 'n', '.', 'f', 'r', '\0',
   /* "zaufanatrzeciastrona.pl", true */ 'z', 'a', 'u', 'f', 'a', 'n', 'a', 't', 'r', 'z', 'e', 'c', 'i', 'a', 's', 't', 'r', 'o', 'n', 'a', '.', 'p', 'l', '\0',
   /* "zavetaji.lv", true */ 'z', 'a', 'v', 'e', 't', 'a', 'j', 'i', '.', 'l', 'v', '\0',
   /* "zawo-electric.de", true */ 'z', 'a', 'w', 'o', '-', 'e', 'l', 'e', 'c', 't', 'r', 'i', 'c', '.', 'd', 'e', '\0',
@@ -21723,16 +21707,17 @@ static const char kSTSHostTable[] = {
   /* "zenycosta.com", true */ 'z', 'e', 'n', 'y', 'c', 'o', 's', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "zeplin.io", true */ 'z', 'e', 'p', 'l', 'i', 'n', '.', 'i', 'o', '\0',
   /* "zer0-day.pw", true */ 'z', 'e', 'r', '0', '-', 'd', 'a', 'y', '.', 'p', 'w', '\0',
   /* "zer0.de", true */ 'z', 'e', 'r', '0', '.', 'd', 'e', '\0',
   /* "zero-x-baadf00d.com", true */ 'z', 'e', 'r', 'o', '-', 'x', '-', 'b', 'a', 'a', 'd', 'f', '0', '0', 'd', '.', 'c', 'o', 'm', '\0',
   /* "zerocool.io", true */ 'z', 'e', 'r', 'o', 'c', 'o', 'o', 'l', '.', 'i', 'o', '\0',
   /* "zerofy.de", true */ 'z', 'e', 'r', 'o', 'f', 'y', '.', 'd', 'e', '\0',
   /* "zeroling.com", true */ 'z', 'e', 'r', 'o', 'l', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
+  /* "zeroml.ml", true */ 'z', 'e', 'r', 'o', 'm', 'l', '.', 'm', 'l', '\0',
   /* "zeronet.io", true */ 'z', 'e', 'r', 'o', 'n', 'e', 't', '.', 'i', 'o', '\0',
   /* "zeropush.com", true */ 'z', 'e', 'r', 'o', 'p', 'u', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "zerossl.com", true */ 'z', 'e', 'r', 'o', 's', 's', 'l', '.', 'c', 'o', 'm', '\0',
   /* "zertif.info", true */ 'z', 'e', 'r', 't', 'i', 'f', '.', 'i', 'n', 'f', 'o', '\0',
   /* "zeryn.net", true */ 'z', 'e', 'r', 'y', 'n', '.', 'n', 'e', 't', '\0',
   /* "zespia.tw", false */ 'z', 'e', 's', 'p', 'i', 'a', '.', 't', 'w', '\0',
   /* "zetamode.com", true */ 'z', 'e', 't', 'a', 'm', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "zeto365.pl", true */ 'z', 'e', 't', 'o', '3', '6', '5', '.', 'p', 'l', '\0',
@@ -22299,21440 +22284,21425 @@ static const nsSTSPreload kSTSPreloadLis
   { 5246, true },
   { 5257, true },
   { 5274, true },
   { 5309, true },
   { 5327, true },
   { 5351, true },
   { 5364, true },
   { 5377, true },
-  { 5386, true },
-  { 5403, true },
-  { 5415, true },
-  { 5434, true },
-  { 5446, true },
-  { 5469, true },
-  { 5486, true },
-  { 5506, true },
-  { 5520, true },
-  { 5528, true },
-  { 5547, true },
-  { 5571, true },
-  { 5590, true },
-  { 5605, true },
-  { 5629, true },
-  { 5642, true },
-  { 5660, true },
-  { 5681, true },
-  { 5701, true },
-  { 5726, true },
-  { 5738, true },
-  { 5753, true },
-  { 5772, true },
-  { 5786, true },
-  { 5805, true },
-  { 5812, false },
-  { 5821, true },
-  { 5834, true },
-  { 5855, true },
-  { 5867, true },
-  { 5880, true },
-  { 5896, true },
-  { 5928, true },
-  { 5949, true },
-  { 5961, true },
-  { 5972, true },
-  { 5985, false },
-  { 5994, true },
-  { 6004, true },
-  { 6020, false },
-  { 6030, true },
-  { 6045, true },
-  { 6062, true },
-  { 6073, true },
-  { 6101, false },
-  { 6115, true },
-  { 6128, true },
-  { 6144, true },
-  { 6160, true },
-  { 6171, true },
-  { 6183, true },
-  { 6195, true },
-  { 6221, true },
-  { 6242, true },
-  { 6260, false },
-  { 6270, true },
-  { 6285, true },
-  { 6299, true },
-  { 6320, false },
-  { 6333, true },
-  { 6342, true },
-  { 6357, true },
-  { 6373, true },
-  { 6387, true },
-  { 6399, true },
-  { 6414, true },
-  { 6427, true },
-  { 6439, true },
-  { 6451, true },
-  { 6463, true },
-  { 6475, true },
-  { 6487, true },
-  { 6495, true },
-  { 6506, true },
-  { 6520, true },
-  { 6536, true },
-  { 6550, true },
-  { 6567, true },
-  { 6582, true },
-  { 6591, true },
-  { 6604, true },
-  { 6619, true },
-  { 6640, true },
-  { 6649, true },
-  { 6659, true },
-  { 6684, true },
-  { 6695, true },
-  { 6707, true },
-  { 6726, true },
-  { 6738, true },
-  { 6757, true },
-  { 6776, true },
-  { 6795, true },
-  { 6807, true },
-  { 6822, true },
-  { 6837, false },
-  { 6848, true },
-  { 6861, true },
-  { 6873, true },
-  { 6886, true },
-  { 6900, true },
-  { 6915, true },
-  { 6937, true },
-  { 6947, true },
-  { 6969, true },
-  { 6978, true },
-  { 6991, true },
-  { 7005, true },
-  { 7017, true },
-  { 7044, true },
-  { 7070, true },
-  { 7081, true },
-  { 7094, true },
-  { 7108, true },
-  { 7119, true },
-  { 7143, true },
-  { 7160, true },
-  { 7188, true },
-  { 7212, true },
-  { 7224, true },
-  { 7235, true },
-  { 7247, true },
-  { 7256, true },
-  { 7270, true },
-  { 7280, true },
-  { 7289, true },
-  { 7303, true },
-  { 7322, true },
-  { 7345, true },
-  { 7355, true },
-  { 7372, true },
-  { 7384, true },
-  { 7398, true },
-  { 7406, true },
-  { 7421, false },
-  { 7442, true },
+  { 5390, true },
+  { 5399, true },
+  { 5416, true },
+  { 5428, true },
+  { 5447, true },
+  { 5459, true },
+  { 5482, true },
+  { 5499, true },
+  { 5519, true },
+  { 5533, true },
+  { 5552, true },
+  { 5576, true },
+  { 5595, true },
+  { 5610, true },
+  { 5634, true },
+  { 5647, true },
+  { 5665, true },
+  { 5686, true },
+  { 5706, true },
+  { 5731, true },
+  { 5743, true },
+  { 5758, true },
+  { 5777, true },
+  { 5791, true },
+  { 5810, true },
+  { 5817, false },
+  { 5826, true },
+  { 5839, true },
+  { 5860, true },
+  { 5872, true },
+  { 5885, true },
+  { 5901, true },
+  { 5933, true },
+  { 5954, true },
+  { 5966, true },
+  { 5977, true },
+  { 5990, false },
+  { 5999, true },
+  { 6009, true },
+  { 6025, false },
+  { 6035, true },
+  { 6050, true },
+  { 6067, true },
+  { 6078, true },
+  { 6106, false },
+  { 6120, true },
+  { 6133, true },
+  { 6149, true },
+  { 6165, true },
+  { 6176, true },
+  { 6188, true },
+  { 6200, true },
+  { 6226, true },
+  { 6247, true },
+  { 6265, false },
+  { 6275, true },
+  { 6290, true },
+  { 6304, true },
+  { 6325, false },
+  { 6338, true },
+  { 6347, true },
+  { 6362, true },
+  { 6378, true },
+  { 6392, true },
+  { 6404, true },
+  { 6419, true },
+  { 6432, true },
+  { 6444, true },
+  { 6456, true },
+  { 6468, true },
+  { 6480, true },
+  { 6492, true },
+  { 6500, true },
+  { 6511, true },
+  { 6525, true },
+  { 6541, true },
+  { 6555, false },
+  { 6568, true },
+  { 6585, true },
+  { 6600, true },
+  { 6609, true },
+  { 6622, true },
+  { 6637, true },
+  { 6658, true },
+  { 6667, true },
+  { 6677, true },
+  { 6702, true },
+  { 6713, true },
+  { 6725, true },
+  { 6744, true },
+  { 6756, true },
+  { 6775, true },
+  { 6794, true },
+  { 6813, true },
+  { 6825, true },
+  { 6840, true },
+  { 6855, false },
+  { 6866, true },
+  { 6879, true },
+  { 6891, true },
+  { 6904, true },
+  { 6918, true },
+  { 6933, true },
+  { 6955, true },
+  { 6965, true },
+  { 6987, true },
+  { 6996, true },
+  { 7009, true },
+  { 7023, true },
+  { 7035, true },
+  { 7062, true },
+  { 7088, true },
+  { 7099, true },
+  { 7112, true },
+  { 7126, true },
+  { 7137, true },
+  { 7161, true },
+  { 7178, true },
+  { 7206, true },
+  { 7230, true },
+  { 7242, true },
+  { 7253, true },
+  { 7265, true },
+  { 7274, true },
+  { 7288, true },
+  { 7298, true },
+  { 7307, true },
+  { 7321, true },
+  { 7340, true },
+  { 7363, true },
+  { 7373, true },
+  { 7390, true },
+  { 7402, true },
+  { 7416, true },
+  { 7424, true },
+  { 7439, false },
   { 7460, true },
   { 7478, true },
   { 7496, true },
-  { 7513, true },
-  { 7524, true },
-  { 7535, true },
-  { 7544, true },
-  { 7560, true },
-  { 7576, true },
-  { 7595, true },
-  { 7616, true },
-  { 7630, true },
-  { 7649, true },
-  { 7662, true },
-  { 7689, true },
-  { 7700, true },
-  { 7720, true },
+  { 7514, true },
+  { 7531, true },
+  { 7542, true },
+  { 7553, true },
+  { 7562, true },
+  { 7578, true },
+  { 7594, true },
+  { 7613, true },
+  { 7634, true },
+  { 7648, true },
+  { 7667, true },
+  { 7680, true },
+  { 7707, true },
+  { 7718, true },
   { 7738, true },
-  { 7756, false },
-  { 7775, true },
-  { 7789, true },
-  { 7810, true },
-  { 7830, true },
-  { 7846, true },
-  { 7856, true },
-  { 7869, true },
-  { 7882, true },
-  { 7896, true },
-  { 7910, true },
-  { 7920, true },
-  { 7930, true },
-  { 7940, true },
-  { 7950, true },
-  { 7960, true },
-  { 7970, true },
-  { 7987, true },
-  { 8004, true },
-  { 8019, true },
+  { 7756, true },
+  { 7774, false },
+  { 7793, true },
+  { 7807, true },
+  { 7828, true },
+  { 7848, true },
+  { 7864, true },
+  { 7874, true },
+  { 7887, true },
+  { 7900, true },
+  { 7914, true },
+  { 7928, true },
+  { 7938, true },
+  { 7948, true },
+  { 7958, true },
+  { 7968, true },
+  { 7978, true },
+  { 7988, true },
+  { 8005, true },
+  { 8022, true },
   { 8037, true },
-  { 8053, true },
-  { 8063, true },
+  { 8055, true },
   { 8071, true },
-  { 8083, false },
-  { 8094, true },
-  { 8105, true },
-  { 8115, true },
-  { 8124, true },
-  { 8138, true },
-  { 8148, true },
-  { 8160, true },
-  { 8171, true },
-  { 8183, true },
-  { 8192, true },
-  { 8206, true },
-  { 8226, true },
-  { 8258, true },
-  { 8270, true },
-  { 8287, true },
-  { 8311, true },
-  { 8336, true },
-  { 8365, true },
-  { 8379, true },
-  { 8398, true },
-  { 8420, true },
-  { 8432, true },
-  { 8448, true },
-  { 8459, true },
-  { 8467, true },
-  { 8481, true },
-  { 8497, true },
-  { 8512, true },
-  { 8521, true },
-  { 8536, true },
-  { 8544, true },
-  { 8553, true },
-  { 8572, true },
-  { 8589, true },
-  { 8597, true },
-  { 8630, false },
-  { 8646, true },
+  { 8081, true },
+  { 8089, true },
+  { 8101, false },
+  { 8112, true },
+  { 8123, true },
+  { 8133, true },
+  { 8142, true },
+  { 8156, true },
+  { 8166, true },
+  { 8178, true },
+  { 8189, true },
+  { 8201, true },
+  { 8210, true },
+  { 8224, true },
+  { 8244, true },
+  { 8276, true },
+  { 8288, true },
+  { 8305, true },
+  { 8329, true },
+  { 8354, true },
+  { 8383, true },
+  { 8397, true },
+  { 8416, true },
+  { 8438, true },
+  { 8450, true },
+  { 8466, true },
+  { 8477, true },
+  { 8485, true },
+  { 8499, true },
+  { 8515, true },
+  { 8530, true },
+  { 8539, true },
+  { 8554, true },
+  { 8562, true },
+  { 8571, true },
+  { 8590, true },
+  { 8607, true },
+  { 8615, true },
+  { 8648, false },
   { 8664, true },
-  { 8678, true },
-  { 8691, true },
-  { 8699, true },
-  { 8713, false },
-  { 8727, true },
-  { 8739, true },
-  { 8749, true },
-  { 8759, true },
-  { 8772, true },
-  { 8784, true },
-  { 8793, true },
-  { 8805, true },
-  { 8819, true },
-  { 8832, true },
-  { 8842, true },
-  { 8854, true },
-  { 8870, true },
-  { 8882, true },
-  { 8902, true },
-  { 8912, false },
-  { 8922, false },
-  { 8930, true },
-  { 8940, true },
-  { 8949, true },
-  { 8963, true },
-  { 8976, true },
-  { 8990, true },
-  { 8998, true },
-  { 9010, true },
-  { 9022, true },
-  { 9046, true },
-  { 9065, true },
-  { 9084, false },
-  { 9093, false },
-  { 9107, true },
-  { 9117, true },
-  { 9150, true },
-  { 9160, true },
-  { 9174, true },
-  { 9181, true },
-  { 9193, true },
-  { 9206, true },
-  { 9217, true },
-  { 9231, true },
-  { 9248, true },
-  { 9259, true },
-  { 9270, true },
-  { 9286, true },
-  { 9293, true },
-  { 9307, true },
-  { 9315, true },
-  { 9326, true },
+  { 8682, true },
+  { 8696, true },
+  { 8709, true },
+  { 8717, true },
+  { 8731, false },
+  { 8745, true },
+  { 8757, true },
+  { 8767, true },
+  { 8777, true },
+  { 8790, true },
+  { 8802, true },
+  { 8811, true },
+  { 8823, true },
+  { 8837, true },
+  { 8850, true },
+  { 8860, true },
+  { 8872, true },
+  { 8888, true },
+  { 8900, true },
+  { 8920, true },
+  { 8930, false },
+  { 8940, false },
+  { 8948, true },
+  { 8958, true },
+  { 8967, true },
+  { 8981, true },
+  { 8994, true },
+  { 9008, true },
+  { 9016, true },
+  { 9028, true },
+  { 9040, true },
+  { 9064, true },
+  { 9083, true },
+  { 9102, false },
+  { 9111, false },
+  { 9125, true },
+  { 9135, true },
+  { 9168, true },
+  { 9178, true },
+  { 9192, true },
+  { 9199, true },
+  { 9211, true },
+  { 9224, true },
+  { 9235, true },
+  { 9249, true },
+  { 9266, true },
+  { 9277, true },
+  { 9288, true },
+  { 9304, true },
+  { 9311, true },
+  { 9325, true },
+  { 9333, true },
   { 9344, true },
-  { 9367, true },
-  { 9382, true },
-  { 9397, true },
-  { 9414, true },
-  { 9427, true },
-  { 9437, true },
-  { 9450, true },
-  { 9461, true },
-  { 9472, true },
-  { 9487, true },
-  { 9497, true },
-  { 9520, true },
-  { 9531, true },
-  { 9543, true },
-  { 9554, true },
-  { 9565, true },
-  { 9576, true },
-  { 9587, true },
-  { 9603, true },
-  { 9633, true },
-  { 9644, true },
-  { 9655, true },
-  { 9668, true },
+  { 9362, true },
+  { 9385, true },
+  { 9400, true },
+  { 9415, true },
+  { 9432, true },
+  { 9445, true },
+  { 9455, true },
+  { 9468, true },
+  { 9479, true },
+  { 9490, true },
+  { 9505, true },
+  { 9515, true },
+  { 9538, true },
+  { 9549, true },
+  { 9561, true },
+  { 9572, true },
+  { 9583, true },
+  { 9594, true },
+  { 9605, true },
+  { 9621, true },
+  { 9651, true },
+  { 9662, true },
+  { 9673, true },
   { 9686, true },
-  { 9698, true },
-  { 9715, true },
+  { 9704, true },
+  { 9716, true },
   { 9733, true },
-  { 9742, true },
-  { 9756, true },
-  { 9766, true },
-  { 9778, true },
-  { 9788, true },
-  { 9799, true },
-  { 9810, true },
-  { 9827, true },
-  { 9843, true },
-  { 9856, true },
-  { 9867, true },
-  { 9875, false },
-  { 9901, false },
-  { 9912, false },
-  { 9929, true },
-  { 9939, true },
-  { 9951, true },
-  { 9970, true },
-  { 9987, true },
-  { 9999, true },
-  { 10008, true },
+  { 9751, true },
+  { 9760, true },
+  { 9774, true },
+  { 9784, true },
+  { 9796, true },
+  { 9806, true },
+  { 9817, true },
+  { 9828, true },
+  { 9845, true },
+  { 9861, true },
+  { 9874, true },
+  { 9885, true },
+  { 9893, false },
+  { 9919, false },
+  { 9930, false },
+  { 9947, true },
+  { 9957, true },
+  { 9969, true },
+  { 9988, true },
+  { 10005, true },
   { 10017, true },
-  { 10034, true },
-  { 10041, true },
-  { 10065, true },
-  { 10081, true },
-  { 10101, true },
-  { 10126, true },
-  { 10151, true },
-  { 10176, true },
-  { 10188, true },
-  { 10210, true },
-  { 10220, true },
-  { 10232, true },
+  { 10026, true },
+  { 10043, true },
+  { 10050, true },
+  { 10074, true },
+  { 10090, true },
+  { 10110, true },
+  { 10135, true },
+  { 10160, true },
+  { 10185, true },
+  { 10197, true },
+  { 10219, true },
+  { 10229, true },
   { 10241, true },
-  { 10253, true },
-  { 10280, true },
-  { 10308, true },
-  { 10321, false },
-  { 10330, true },
-  { 10344, true },
-  { 10360, true },
-  { 10376, true },
-  { 10388, true },
-  { 10403, true },
-  { 10417, true },
-  { 10430, true },
-  { 10445, true },
-  { 10457, true },
-  { 10468, true },
-  { 10478, true },
-  { 10489, true },
-  { 10506, true },
-  { 10518, true },
-  { 10530, true },
-  { 10548, true },
-  { 10557, true },
-  { 10569, true },
-  { 10588, true },
-  { 10601, true },
-  { 10617, true },
-  { 10628, true },
-  { 10637, true },
-  { 10655, true },
-  { 10669, true },
-  { 10683, true },
-  { 10699, true },
-  { 10715, true },
-  { 10735, true },
-  { 10756, true },
-  { 10770, true },
-  { 10783, true },
-  { 10797, true },
-  { 10812, true },
-  { 10825, true },
-  { 10835, true },
-  { 10853, true },
-  { 10868, true },
-  { 10886, true },
-  { 10896, true },
-  { 10913, true },
-  { 10928, true },
-  { 10946, true },
-  { 10960, true },
-  { 10974, true },
-  { 10988, true },
-  { 11000, true },
-  { 11013, true },
-  { 11025, true },
-  { 11040, true },
-  { 11054, true },
-  { 11069, true },
-  { 11079, true },
-  { 11093, true },
-  { 11108, true },
-  { 11117, true },
-  { 11134, true },
-  { 11149, true },
-  { 11163, true },
-  { 11177, true },
-  { 11193, true },
-  { 11205, true },
-  { 11218, false },
-  { 11233, true },
-  { 11260, true },
-  { 11281, true },
-  { 11293, true },
-  { 11307, true },
-  { 11322, true },
-  { 11332, true },
-  { 11347, true },
-  { 11361, true },
-  { 11375, true },
-  { 11389, true },
-  { 11411, true },
-  { 11423, true },
-  { 11446, true },
-  { 11467, true },
-  { 11486, true },
-  { 11498, true },
-  { 11514, true },
-  { 11528, true },
-  { 11546, true },
-  { 11559, true },
-  { 11571, true },
-  { 11584, true },
-  { 11595, true },
-  { 11610, true },
-  { 11621, false },
-  { 11637, true },
-  { 11655, true },
-  { 11666, true },
-  { 11678, true },
-  { 11698, true },
-  { 11720, true },
-  { 11740, true },
-  { 11753, true },
-  { 11765, true },
-  { 11785, true },
-  { 11798, true },
-  { 11812, true },
-  { 11825, true },
-  { 11849, true },
-  { 11862, true },
-  { 11880, true },
-  { 11893, true },
-  { 11911, true },
-  { 11933, true },
-  { 11950, true },
-  { 11974, true },
-  { 11998, true },
-  { 12017, true },
-  { 12033, true },
-  { 12045, true },
-  { 12059, true },
-  { 12068, true },
-  { 12084, true },
-  { 12105, true },
-  { 12121, true },
-  { 12140, true },
-  { 12153, true },
-  { 12175, true },
-  { 12196, true },
-  { 12216, true },
-  { 12236, true },
-  { 12252, true },
-  { 12265, false },
-  { 12278, true },
-  { 12291, true },
-  { 12303, true },
-  { 12313, true },
-  { 12338, true },
-  { 12351, true },
-  { 12365, true },
-  { 12380, true },
-  { 12400, true },
-  { 12416, true },
-  { 12430, true },
-  { 12444, true },
-  { 12460, true },
-  { 12474, true },
-  { 12490, true },
-  { 12502, true },
-  { 12516, true },
-  { 12533, true },
-  { 12544, true },
-  { 12557, true },
-  { 12574, true },
-  { 12588, true },
-  { 12596, true },
-  { 12609, true },
-  { 12621, true },
-  { 12634, true },
-  { 12650, true },
-  { 12665, true },
-  { 12678, true },
-  { 12692, true },
-  { 12704, true },
+  { 10250, true },
+  { 10262, true },
+  { 10289, true },
+  { 10317, true },
+  { 10330, false },
+  { 10339, true },
+  { 10353, true },
+  { 10369, true },
+  { 10381, true },
+  { 10396, true },
+  { 10410, true },
+  { 10423, true },
+  { 10438, true },
+  { 10450, true },
+  { 10461, true },
+  { 10471, true },
+  { 10482, true },
+  { 10499, true },
+  { 10511, true },
+  { 10523, true },
+  { 10541, true },
+  { 10550, true },
+  { 10562, true },
+  { 10581, true },
+  { 10594, true },
+  { 10610, true },
+  { 10621, true },
+  { 10630, true },
+  { 10648, true },
+  { 10662, true },
+  { 10676, true },
+  { 10692, true },
+  { 10708, true },
+  { 10728, true },
+  { 10749, true },
+  { 10763, true },
+  { 10776, true },
+  { 10790, true },
+  { 10805, true },
+  { 10818, true },
+  { 10828, true },
+  { 10846, true },
+  { 10861, true },
+  { 10879, true },
+  { 10889, true },
+  { 10906, true },
+  { 10921, true },
+  { 10939, true },
+  { 10953, true },
+  { 10967, true },
+  { 10981, true },
+  { 10993, true },
+  { 11006, true },
+  { 11018, true },
+  { 11033, true },
+  { 11047, true },
+  { 11062, true },
+  { 11072, true },
+  { 11086, true },
+  { 11101, true },
+  { 11110, true },
+  { 11127, true },
+  { 11142, true },
+  { 11156, true },
+  { 11170, true },
+  { 11186, true },
+  { 11198, true },
+  { 11211, false },
+  { 11226, true },
+  { 11253, true },
+  { 11274, true },
+  { 11286, true },
+  { 11300, true },
+  { 11315, true },
+  { 11325, true },
+  { 11340, true },
+  { 11354, true },
+  { 11368, true },
+  { 11382, true },
+  { 11404, true },
+  { 11416, true },
+  { 11439, true },
+  { 11460, true },
+  { 11479, true },
+  { 11491, true },
+  { 11507, true },
+  { 11521, true },
+  { 11539, true },
+  { 11552, true },
+  { 11564, true },
+  { 11577, true },
+  { 11588, true },
+  { 11603, true },
+  { 11614, false },
+  { 11630, true },
+  { 11648, true },
+  { 11659, true },
+  { 11671, true },
+  { 11691, true },
+  { 11713, true },
+  { 11733, true },
+  { 11746, true },
+  { 11758, true },
+  { 11778, true },
+  { 11791, true },
+  { 11805, true },
+  { 11818, true },
+  { 11842, true },
+  { 11855, true },
+  { 11873, true },
+  { 11886, true },
+  { 11904, true },
+  { 11926, true },
+  { 11943, true },
+  { 11967, true },
+  { 11991, true },
+  { 12010, true },
+  { 12026, true },
+  { 12038, true },
+  { 12052, true },
+  { 12061, true },
+  { 12077, true },
+  { 12098, true },
+  { 12114, true },
+  { 12133, true },
+  { 12146, true },
+  { 12168, true },
+  { 12189, true },
+  { 12209, true },
+  { 12229, true },
+  { 12245, true },
+  { 12258, false },
+  { 12271, true },
+  { 12284, true },
+  { 12296, true },
+  { 12306, true },
+  { 12331, true },
+  { 12344, true },
+  { 12358, true },
+  { 12373, true },
+  { 12393, true },
+  { 12409, true },
+  { 12423, true },
+  { 12437, true },
+  { 12453, true },
+  { 12467, true },
+  { 12483, true },
+  { 12495, true },
+  { 12509, true },
+  { 12526, true },
+  { 12539, true },
+  { 12556, true },
+  { 12570, true },
+  { 12578, true },
+  { 12591, true },
+  { 12603, true },
+  { 12616, true },
+  { 12632, true },
+  { 12647, true },
+  { 12660, true },
+  { 12674, true },
+  { 12686, true },
+  { 12703, true },
   { 12721, true },
-  { 12739, true },
-  { 12758, true },
-  { 12774, true },
-  { 12786, true },
-  { 12800, true },
-  { 12822, true },
-  { 12836, true },
-  { 12848, true },
-  { 12860, true },
-  { 12874, true },
-  { 12889, true },
-  { 12900, true },
-  { 12921, true },
-  { 12933, true },
-  { 12944, true },
-  { 12955, true },
-  { 12967, true },
-  { 12993, true },
-  { 13007, true },
-  { 13019, true },
-  { 13026, true },
-  { 13036, true },
-  { 13055, true },
-  { 13068, true },
-  { 13080, true },
-  { 13093, false },
-  { 13113, true },
-  { 13125, true },
-  { 13137, true },
+  { 12740, true },
+  { 12756, true },
+  { 12768, true },
+  { 12782, true },
+  { 12804, true },
+  { 12818, true },
+  { 12830, true },
+  { 12842, true },
+  { 12856, true },
+  { 12871, true },
+  { 12882, true },
+  { 12903, true },
+  { 12915, true },
+  { 12926, true },
+  { 12937, true },
+  { 12949, true },
+  { 12975, true },
+  { 12989, true },
+  { 13001, true },
+  { 13008, true },
+  { 13018, true },
+  { 13037, true },
+  { 13050, true },
+  { 13062, true },
+  { 13075, false },
+  { 13095, true },
+  { 13107, true },
+  { 13119, true },
+  { 13145, true },
   { 13163, true },
-  { 13181, true },
-  { 13209, true },
+  { 13191, true },
+  { 13206, true },
   { 13224, true },
-  { 13242, true },
-  { 13255, true },
-  { 13264, true },
-  { 13280, true },
-  { 13293, true },
-  { 13307, true },
-  { 13320, true },
-  { 13331, true },
-  { 13341, true },
-  { 13352, true },
-  { 13362, true },
+  { 13237, true },
+  { 13246, true },
+  { 13262, true },
+  { 13275, true },
+  { 13289, true },
+  { 13302, true },
+  { 13313, true },
+  { 13323, true },
+  { 13334, true },
+  { 13344, true },
+  { 13355, true },
+  { 13364, false },
   { 13373, true },
-  { 13382, false },
-  { 13391, true },
-  { 13407, true },
-  { 13423, true },
-  { 13448, true },
-  { 13476, true },
-  { 13507, true },
-  { 13526, true },
-  { 13541, true },
-  { 13561, true },
-  { 13573, true },
-  { 13593, true },
-  { 13605, true },
+  { 13389, true },
+  { 13405, true },
+  { 13430, true },
+  { 13458, true },
+  { 13489, true },
+  { 13508, true },
+  { 13523, true },
+  { 13543, true },
+  { 13555, true },
+  { 13575, true },
+  { 13587, true },
+  { 13600, true },
+  { 13609, true },
   { 13618, true },
-  { 13627, true },
-  { 13636, true },
-  { 13646, true },
-  { 13653, true },
-  { 13672, true },
-  { 13683, true },
-  { 13694, true },
-  { 13709, true },
-  { 13729, true },
-  { 13739, true },
-  { 13769, true },
-  { 13779, true },
-  { 13806, true },
-  { 13823, true },
-  { 13834, true },
-  { 13844, true },
-  { 13858, true },
-  { 13875, true },
-  { 13886, true },
-  { 13895, true },
-  { 13906, true },
-  { 13926, true },
-  { 13945, true },
-  { 13956, true },
-  { 13967, true },
-  { 13985, false },
-  { 13996, true },
-  { 14015, true },
+  { 13628, true },
+  { 13635, true },
+  { 13654, true },
+  { 13665, true },
+  { 13676, true },
+  { 13691, true },
+  { 13711, true },
+  { 13721, true },
+  { 13751, true },
+  { 13761, true },
+  { 13788, true },
+  { 13805, true },
+  { 13816, true },
+  { 13826, true },
+  { 13840, true },
+  { 13857, true },
+  { 13868, true },
+  { 13877, true },
+  { 13888, true },
+  { 13908, true },
+  { 13927, true },
+  { 13938, true },
+  { 13949, true },
+  { 13967, false },
+  { 13978, true },
+  { 13997, true },
+  { 14011, true },
   { 14029, true },
   { 14047, true },
-  { 14065, true },
-  { 14087, true },
-  { 14109, true },
-  { 14123, true },
-  { 14137, true },
-  { 14152, true },
-  { 14173, true },
-  { 14183, true },
-  { 14203, true },
-  { 14218, false },
-  { 14249, true },
-  { 14260, false },
-  { 14284, true },
-  { 14305, true },
-  { 14323, true },
-  { 14334, true },
-  { 14352, true },
-  { 14369, true },
+  { 14069, true },
+  { 14083, true },
+  { 14097, true },
+  { 14112, true },
+  { 14133, true },
+  { 14143, true },
+  { 14163, true },
+  { 14178, false },
+  { 14209, true },
+  { 14220, false },
+  { 14244, true },
+  { 14265, true },
+  { 14283, true },
+  { 14294, true },
+  { 14312, true },
+  { 14329, true },
+  { 14345, true },
+  { 14364, true },
+  { 14377, true },
   { 14385, true },
-  { 14404, true },
-  { 14417, true },
-  { 14425, true },
-  { 14442, true },
-  { 14455, true },
-  { 14470, true },
-  { 14482, false },
+  { 14402, true },
+  { 14415, true },
+  { 14430, true },
+  { 14442, false },
+  { 14461, true },
+  { 14479, false },
   { 14501, true },
-  { 14519, false },
-  { 14541, true },
-  { 14556, true },
-  { 14573, true },
-  { 14595, true },
-  { 14610, true },
-  { 14627, true },
-  { 14648, true },
-  { 14664, true },
-  { 14680, true },
-  { 14697, true },
-  { 14714, true },
-  { 14729, true },
-  { 14744, true },
-  { 14757, true },
-  { 14771, true },
-  { 14787, true },
-  { 14801, true },
-  { 14818, true },
-  { 14830, true },
-  { 14846, true },
-  { 14860, true },
-  { 14877, true },
-  { 14895, true },
-  { 14910, true },
-  { 14922, true },
-  { 14935, true },
-  { 14951, true },
-  { 14965, true },
-  { 14978, true },
-  { 14992, true },
+  { 14516, true },
+  { 14533, true },
+  { 14555, true },
+  { 14570, true },
+  { 14587, true },
+  { 14608, true },
+  { 14624, true },
+  { 14640, true },
+  { 14657, true },
+  { 14674, true },
+  { 14689, true },
+  { 14704, true },
+  { 14717, true },
+  { 14733, true },
+  { 14747, true },
+  { 14764, true },
+  { 14776, true },
+  { 14792, true },
+  { 14806, true },
+  { 14823, true },
+  { 14841, true },
+  { 14856, true },
+  { 14868, true },
+  { 14881, true },
+  { 14897, true },
+  { 14911, true },
+  { 14924, true },
+  { 14938, true },
+  { 14956, true },
+  { 14974, true },
+  { 14991, true },
   { 15010, true },
-  { 15028, true },
-  { 15045, true },
-  { 15064, true },
-  { 15079, true },
-  { 15091, true },
-  { 15111, true },
-  { 15131, true },
-  { 15146, true },
-  { 15157, true },
-  { 15168, true },
-  { 15179, true },
-  { 15192, true },
-  { 15208, true },
-  { 15223, true },
-  { 15234, true },
-  { 15248, true },
-  { 15265, true },
-  { 15281, true },
-  { 15300, true },
-  { 15311, true },
-  { 15322, true },
-  { 15344, true },
-  { 15356, true },
-  { 15366, true },
-  { 15381, true },
-  { 15394, true },
-  { 15413, true },
-  { 15424, true },
-  { 15437, true },
-  { 15446, true },
-  { 15473, true },
-  { 15487, true },
-  { 15502, true },
-  { 15517, true },
-  { 15539, true },
-  { 15563, true },
-  { 15581, false },
-  { 15594, false },
-  { 15603, true },
-  { 15613, true },
-  { 15625, true },
+  { 15025, true },
+  { 15037, true },
+  { 15057, true },
+  { 15077, true },
+  { 15092, true },
+  { 15103, true },
+  { 15114, true },
+  { 15125, true },
+  { 15138, true },
+  { 15154, true },
+  { 15169, true },
+  { 15180, true },
+  { 15194, true },
+  { 15211, true },
+  { 15227, true },
+  { 15246, true },
+  { 15257, true },
+  { 15268, true },
+  { 15290, true },
+  { 15302, true },
+  { 15312, true },
+  { 15327, true },
+  { 15340, true },
+  { 15359, true },
+  { 15370, true },
+  { 15383, true },
+  { 15392, true },
+  { 15419, true },
+  { 15433, true },
+  { 15448, true },
+  { 15463, true },
+  { 15485, true },
+  { 15509, true },
+  { 15527, false },
+  { 15540, false },
+  { 15549, true },
+  { 15559, true },
+  { 15571, true },
+  { 15593, true },
+  { 15610, true },
+  { 15627, true },
   { 15647, true },
-  { 15664, true },
-  { 15681, true },
-  { 15701, true },
-  { 15712, true },
-  { 15723, true },
-  { 15741, true },
-  { 15773, true },
-  { 15800, true },
-  { 15825, true },
-  { 15849, true },
-  { 15860, true },
-  { 15872, true },
-  { 15882, true },
-  { 15900, true },
-  { 15915, true },
-  { 15929, true },
-  { 15941, true },
-  { 15970, true },
-  { 15982, true },
-  { 16002, true },
-  { 16021, true },
-  { 16041, true },
-  { 16057, true },
-  { 16080, true },
-  { 16097, false },
-  { 16121, true },
-  { 16133, true },
-  { 16144, true },
-  { 16157, true },
-  { 16172, true },
-  { 16184, true },
-  { 16196, true },
-  { 16208, true },
-  { 16224, true },
+  { 15658, true },
+  { 15669, true },
+  { 15687, true },
+  { 15719, true },
+  { 15746, true },
+  { 15771, true },
+  { 15795, true },
+  { 15806, true },
+  { 15818, true },
+  { 15828, true },
+  { 15846, true },
+  { 15861, true },
+  { 15875, true },
+  { 15887, true },
+  { 15916, true },
+  { 15928, true },
+  { 15948, true },
+  { 15967, true },
+  { 15987, true },
+  { 16003, true },
+  { 16026, true },
+  { 16043, false },
+  { 16067, true },
+  { 16079, true },
+  { 16090, true },
+  { 16103, true },
+  { 16118, true },
+  { 16130, true },
+  { 16142, true },
+  { 16154, true },
+  { 16170, true },
+  { 16187, true },
+  { 16206, true },
+  { 16222, true },
   { 16241, true },
-  { 16260, true },
-  { 16276, true },
-  { 16295, true },
-  { 16316, true },
+  { 16262, true },
+  { 16279, true },
+  { 16292, true },
+  { 16302, true },
+  { 16311, true },
+  { 16321, true },
   { 16333, true },
   { 16346, true },
-  { 16356, true },
-  { 16365, true },
-  { 16375, true },
-  { 16387, true },
+  { 16364, true },
+  { 16381, true },
   { 16400, true },
-  { 16418, true },
-  { 16435, true },
-  { 16454, true },
-  { 16470, true },
-  { 16482, true },
-  { 16493, true },
+  { 16416, true },
+  { 16428, true },
+  { 16439, true },
+  { 16459, true },
+  { 16475, true },
+  { 16496, true },
   { 16513, true },
-  { 16529, true },
-  { 16550, true },
-  { 16567, true },
-  { 16581, true },
+  { 16527, true },
+  { 16542, true },
+  { 16557, true },
+  { 16578, true },
   { 16596, true },
   { 16611, true },
+  { 16622, true },
   { 16632, true },
   { 16650, true },
-  { 16665, true },
-  { 16676, true },
-  { 16686, true },
+  { 16669, true },
+  { 16688, true },
   { 16704, true },
-  { 16723, true },
-  { 16742, true },
-  { 16758, true },
-  { 16770, true },
-  { 16789, true },
+  { 16716, true },
+  { 16735, true },
+  { 16749, true },
+  { 16764, true },
+  { 16774, true },
+  { 16790, true },
   { 16803, true },
-  { 16818, true },
-  { 16828, true },
-  { 16844, true },
-  { 16857, true },
-  { 16874, true },
-  { 16890, false },
-  { 16897, true },
-  { 16910, true },
+  { 16820, true },
+  { 16836, false },
+  { 16843, true },
+  { 16856, true },
+  { 16866, true },
+  { 16879, true },
+  { 16892, true },
+  { 16908, true },
   { 16920, true },
-  { 16933, true },
-  { 16946, true },
-  { 16962, true },
-  { 16974, true },
-  { 16985, true },
-  { 16992, false },
-  { 17003, true },
-  { 17014, true },
-  { 17024, true },
-  { 17037, false },
-  { 17045, true },
-  { 17055, true },
-  { 17062, true },
-  { 17076, true },
-  { 17088, false },
-  { 17102, true },
-  { 17118, true },
-  { 17133, true },
-  { 17152, true },
-  { 17177, true },
-  { 17186, true },
-  { 17197, true },
-  { 17205, true },
-  { 17217, true },
-  { 17247, true },
-  { 17270, true },
-  { 17283, true },
-  { 17302, true },
-  { 17314, true },
-  { 17327, false },
-  { 17346, true },
-  { 17362, false },
-  { 17378, true },
-  { 17394, false },
-  { 17409, false },
-  { 17422, true },
-  { 17433, true },
-  { 17442, true },
-  { 17458, true },
-  { 17470, true },
-  { 17492, true },
-  { 17511, true },
-  { 17519, true },
-  { 17540, true },
+  { 16931, true },
+  { 16938, false },
+  { 16949, true },
+  { 16960, true },
+  { 16970, true },
+  { 16983, false },
+  { 16991, true },
+  { 17001, true },
+  { 17008, true },
+  { 17022, true },
+  { 17034, false },
+  { 17048, true },
+  { 17064, true },
+  { 17079, true },
+  { 17098, true },
+  { 17123, true },
+  { 17132, true },
+  { 17143, true },
+  { 17151, true },
+  { 17163, true },
+  { 17193, true },
+  { 17216, true },
+  { 17229, true },
+  { 17248, true },
+  { 17260, true },
+  { 17273, false },
+  { 17292, true },
+  { 17308, false },
+  { 17324, true },
+  { 17340, false },
+  { 17355, false },
+  { 17368, true },
+  { 17379, true },
+  { 17388, true },
+  { 17404, true },
+  { 17416, true },
+  { 17438, true },
+  { 17457, true },
+  { 17465, true },
+  { 17486, true },
+  { 17496, true },
+  { 17505, true },
+  { 17518, true },
+  { 17528, true },
+  { 17539, true },
   { 17550, true },
-  { 17559, true },
+  { 17561, true },
   { 17572, true },
-  { 17582, true },
-  { 17593, true },
-  { 17604, true },
-  { 17615, true },
-  { 17626, true },
-  { 17638, true },
-  { 17654, true },
-  { 17671, false },
-  { 17688, true },
-  { 17710, true },
-  { 17736, true },
+  { 17584, true },
+  { 17600, true },
+  { 17617, false },
+  { 17634, true },
+  { 17656, true },
+  { 17682, true },
+  { 17695, true },
+  { 17709, true },
+  { 17728, true },
   { 17749, true },
-  { 17763, true },
-  { 17782, true },
-  { 17803, true },
+  { 17761, true },
+  { 17775, true },
+  { 17788, true },
+  { 17801, true },
   { 17815, true },
-  { 17829, true },
-  { 17842, true },
-  { 17855, true },
-  { 17869, true },
-  { 17882, true },
-  { 17898, true },
-  { 17915, true },
-  { 17926, true },
-  { 17935, true },
-  { 17948, true },
-  { 17962, true },
-  { 17975, true },
-  { 17987, true },
-  { 18008, false },
-  { 18026, true },
-  { 18049, true },
-  { 18076, false },
-  { 18097, false },
-  { 18110, true },
-  { 18124, true },
-  { 18136, true },
-  { 18156, true },
-  { 18167, true },
-  { 18180, true },
-  { 18197, true },
-  { 18209, true },
-  { 18218, true },
-  { 18232, true },
-  { 18240, true },
-  { 18257, true },
-  { 18270, true },
-  { 18283, true },
-  { 18296, true },
-  { 18308, true },
-  { 18318, true },
-  { 18331, true },
-  { 18347, true },
-  { 18368, true },
-  { 18380, true },
-  { 18398, true },
-  { 18410, true },
-  { 18425, true },
-  { 18448, true },
-  { 18461, true },
-  { 18477, true },
-  { 18483, true },
-  { 18495, true },
-  { 18505, true },
-  { 18521, true },
-  { 18533, true },
-  { 18544, true },
-  { 18554, true },
-  { 18571, true },
-  { 18585, true },
-  { 18604, true },
-  { 18616, false },
-  { 18628, true },
-  { 18641, true },
-  { 18670, true },
-  { 18696, true },
-  { 18712, true },
-  { 18725, true },
-  { 18740, true },
-  { 18751, true },
-  { 18761, true },
-  { 18777, true },
-  { 18796, true },
-  { 18820, true },
-  { 18848, true },
-  { 18861, true },
-  { 18875, false },
-  { 18887, true },
-  { 18897, true },
-  { 18908, true },
-  { 18926, true },
-  { 18939, true },
+  { 17828, true },
+  { 17844, true },
+  { 17861, true },
+  { 17872, true },
+  { 17881, true },
+  { 17894, true },
+  { 17908, true },
+  { 17921, true },
+  { 17933, true },
+  { 17954, false },
+  { 17972, true },
+  { 17995, true },
+  { 18022, false },
+  { 18043, false },
+  { 18056, true },
+  { 18070, true },
+  { 18082, true },
+  { 18102, true },
+  { 18113, true },
+  { 18126, true },
+  { 18143, true },
+  { 18155, true },
+  { 18164, true },
+  { 18178, true },
+  { 18186, true },
+  { 18203, true },
+  { 18216, true },
+  { 18229, true },
+  { 18242, true },
+  { 18254, true },
+  { 18264, true },
+  { 18277, true },
+  { 18293, true },
+  { 18314, true },
+  { 18326, true },
+  { 18344, true },
+  { 18356, true },
+  { 18371, true },
+  { 18394, true },
+  { 18407, true },
+  { 18423, true },
+  { 18429, true },
+  { 18441, true },
+  { 18451, true },
+  { 18467, true },
+  { 18479, true },
+  { 18490, true },
+  { 18500, true },
+  { 18517, true },
+  { 18531, true },
+  { 18550, true },
+  { 18562, false },
+  { 18574, true },
+  { 18587, true },
+  { 18616, true },
+  { 18642, true },
+  { 18658, true },
+  { 18671, true },
+  { 18686, true },
+  { 18697, true },
+  { 18707, true },
+  { 18723, true },
+  { 18742, true },
+  { 18766, true },
+  { 18794, true },
+  { 18807, true },
+  { 18821, false },
+  { 18833, true },
+  { 18843, true },
+  { 18854, true },
+  { 18872, true },
+  { 18885, true },
+  { 18898, true },
+  { 18910, true },
+  { 18922, true },
+  { 18938, true },
   { 18952, true },
-  { 18964, true },
-  { 18976, true },
-  { 18992, true },
-  { 19006, true },
-  { 19022, true },
-  { 19038, true },
-  { 19058, true },
-  { 19066, true },
-  { 19080, true },
-  { 19088, true },
-  { 19098, true },
-  { 19118, true },
-  { 19140, true },
-  { 19153, true },
-  { 19165, true },
-  { 19181, true },
-  { 19195, false },
-  { 19208, true },
-  { 19223, true },
-  { 19236, true },
-  { 19254, true },
-  { 19266, true },
-  { 19280, true },
-  { 19294, true },
-  { 19303, true },
-  { 19315, true },
-  { 19333, true },
-  { 19353, true },
-  { 19366, true },
-  { 19379, true },
-  { 19393, true },
-  { 19419, true },
-  { 19429, true },
-  { 19443, true },
-  { 19455, true },
-  { 19469, true },
-  { 19487, true },
-  { 19505, false },
-  { 19521, true },
-  { 19531, true },
-  { 19542, true },
-  { 19555, true },
-  { 19571, true },
-  { 19593, true },
-  { 19608, true },
-  { 19619, true },
-  { 19629, true },
-  { 19651, true },
+  { 18968, true },
+  { 18984, true },
+  { 19004, true },
+  { 19012, true },
+  { 19026, true },
+  { 19034, true },
+  { 19044, true },
+  { 19064, true },
+  { 19086, true },
+  { 19099, true },
+  { 19111, true },
+  { 19127, true },
+  { 19141, false },
+  { 19154, true },
+  { 19169, true },
+  { 19182, true },
+  { 19200, true },
+  { 19212, true },
+  { 19226, true },
+  { 19240, true },
+  { 19249, true },
+  { 19261, true },
+  { 19279, true },
+  { 19299, true },
+  { 19312, true },
+  { 19325, true },
+  { 19339, true },
+  { 19365, true },
+  { 19375, true },
+  { 19389, true },
+  { 19401, true },
+  { 19415, true },
+  { 19433, true },
+  { 19451, false },
+  { 19467, true },
+  { 19477, true },
+  { 19488, true },
+  { 19501, true },
+  { 19517, true },
+  { 19539, true },
+  { 19554, true },
+  { 19565, true },
+  { 19575, true },
+  { 19597, true },
+  { 19612, true },
+  { 19631, false },
+  { 19646, true },
   { 19666, true },
-  { 19685, false },
-  { 19700, true },
-  { 19720, true },
-  { 19731, true },
-  { 19741, true },
-  { 19753, true },
-  { 19765, true },
-  { 19778, true },
-  { 19798, true },
-  { 19810, true },
-  { 19824, true },
-  { 19836, false },
-  { 19850, true },
-  { 19862, true },
-  { 19872, true },
-  { 19885, false },
-  { 19900, false },
-  { 19918, true },
-  { 19932, true },
-  { 19945, true },
-  { 19958, true },
-  { 19970, true },
-  { 19984, true },
-  { 20004, true },
-  { 20017, true },
-  { 20031, true },
-  { 20044, true },
-  { 20056, true },
-  { 20074, true },
-  { 20086, true },
-  { 20097, true },
-  { 20108, true },
-  { 20121, true },
-  { 20134, true },
-  { 20149, true },
-  { 20160, true },
-  { 20171, true },
-  { 20186, true },
+  { 19677, true },
+  { 19687, true },
+  { 19699, true },
+  { 19711, true },
+  { 19724, true },
+  { 19744, true },
+  { 19756, true },
+  { 19770, true },
+  { 19782, false },
+  { 19796, true },
+  { 19808, true },
+  { 19818, true },
+  { 19831, false },
+  { 19846, false },
+  { 19864, true },
+  { 19878, true },
+  { 19891, true },
+  { 19904, true },
+  { 19916, true },
+  { 19930, true },
+  { 19950, true },
+  { 19963, true },
+  { 19977, true },
+  { 19990, true },
+  { 20002, true },
+  { 20020, true },
+  { 20032, true },
+  { 20043, true },
+  { 20054, true },
+  { 20067, true },
+  { 20080, true },
+  { 20095, true },
+  { 20106, true },
+  { 20117, true },
+  { 20132, true },
+  { 20146, true },
+  { 20157, true },
+  { 20167, true },
+  { 20179, true },
   { 20200, true },
   { 20211, true },
-  { 20221, true },
-  { 20233, true },
-  { 20254, true },
-  { 20265, true },
-  { 20274, true },
-  { 20294, true },
-  { 20313, true },
+  { 20220, true },
+  { 20240, true },
+  { 20259, true },
+  { 20266, true },
+  { 20283, true },
+  { 20297, true },
+  { 20307, true },
   { 20320, true },
-  { 20337, true },
-  { 20351, true },
-  { 20361, true },
+  { 20333, true },
+  { 20345, true },
+  { 20357, true },
   { 20374, true },
-  { 20387, true },
-  { 20399, true },
+  { 20385, true },
+  { 20398, true },
   { 20411, true },
-  { 20428, true },
+  { 20421, true },
   { 20439, true },
-  { 20452, true },
-  { 20465, true },
-  { 20475, true },
-  { 20493, true },
-  { 20503, true },
+  { 20449, true },
+  { 20463, true },
+  { 20480, true },
+  { 20490, true },
+  { 20506, true },
   { 20517, true },
-  { 20534, true },
-  { 20544, true },
-  { 20560, true },
-  { 20571, true },
-  { 20590, true },
-  { 20605, true },
-  { 20629, true },
-  { 20646, true },
-  { 20665, true },
-  { 20677, true },
-  { 20693, true },
+  { 20536, true },
+  { 20551, true },
+  { 20575, true },
+  { 20592, true },
+  { 20611, true },
+  { 20623, true },
+  { 20639, true },
+  { 20661, true },
+  { 20687, true },
+  { 20702, true },
   { 20715, true },
-  { 20741, true },
-  { 20756, true },
-  { 20769, true },
-  { 20787, true },
-  { 20798, true },
-  { 20808, true },
-  { 20818, true },
-  { 20828, true },
-  { 20847, true },
-  { 20859, true },
-  { 20879, true },
-  { 20891, true },
-  { 20909, true },
-  { 20923, true },
-  { 20937, true },
-  { 20947, true },
-  { 20954, true },
-  { 20964, true },
-  { 20974, false },
-  { 20983, true },
-  { 20998, true },
-  { 21023, true },
-  { 21045, true },
-  { 21068, true },
-  { 21080, true },
-  { 21093, true },
-  { 21111, false },
-  { 21123, true },
-  { 21145, true },
-  { 21158, true },
-  { 21174, true },
-  { 21194, true },
-  { 21222, true },
-  { 21242, true },
-  { 21255, true },
-  { 21265, true },
-  { 21273, true },
-  { 21285, true },
-  { 21294, false },
-  { 21303, true },
-  { 21313, false },
-  { 21333, true },
+  { 20733, true },
+  { 20744, true },
+  { 20754, true },
+  { 20764, true },
+  { 20774, true },
+  { 20793, true },
+  { 20805, true },
+  { 20825, true },
+  { 20837, true },
+  { 20855, true },
+  { 20869, true },
+  { 20883, true },
+  { 20893, true },
+  { 20900, true },
+  { 20910, true },
+  { 20920, false },
+  { 20929, true },
+  { 20944, true },
+  { 20969, true },
+  { 20991, true },
+  { 21014, true },
+  { 21026, true },
+  { 21039, true },
+  { 21057, false },
+  { 21069, true },
+  { 21091, true },
+  { 21104, true },
+  { 21120, true },
+  { 21140, true },
+  { 21168, true },
+  { 21188, true },
+  { 21201, true },
+  { 21211, true },
+  { 21219, true },
+  { 21231, true },
+  { 21240, false },
+  { 21249, true },
+  { 21259, false },
+  { 21279, true },
+  { 21286, true },
+  { 21293, true },
+  { 21309, true },
+  { 21325, true },
   { 21340, true },
-  { 21347, true },
-  { 21363, true },
-  { 21379, true },
-  { 21394, true },
-  { 21404, true },
-  { 21422, true },
-  { 21437, true },
-  { 21464, true },
-  { 21481, true },
-  { 21504, true },
-  { 21522, true },
-  { 21530, true },
-  { 21545, true },
-  { 21559, true },
-  { 21570, true },
-  { 21579, true },
-  { 21600, true },
-  { 21627, true },
-  { 21635, true },
-  { 21645, true },
+  { 21350, true },
+  { 21368, true },
+  { 21383, true },
+  { 21410, true },
+  { 21427, true },
+  { 21450, true },
+  { 21468, true },
+  { 21476, true },
+  { 21491, true },
+  { 21505, true },
+  { 21516, true },
+  { 21525, true },
+  { 21546, true },
+  { 21573, true },
+  { 21581, true },
+  { 21591, true },
+  { 21607, true },
+  { 21619, true },
+  { 21634, true },
+  { 21646, true },
   { 21661, true },
-  { 21673, true },
+  { 21676, true },
   { 21688, true },
-  { 21700, true },
-  { 21715, true },
-  { 21730, true },
+  { 21711, true },
+  { 21724, true },
   { 21742, true },
-  { 21765, true },
-  { 21778, true },
-  { 21796, true },
-  { 21818, true },
-  { 21839, true },
-  { 21859, true },
-  { 21876, true },
-  { 21902, true },
+  { 21764, true },
+  { 21785, true },
+  { 21805, true },
+  { 21822, true },
+  { 21848, true },
+  { 21857, true },
+  { 21879, true },
+  { 21897, true },
   { 21911, true },
-  { 21933, true },
-  { 21951, true },
-  { 21965, true },
-  { 21977, true },
-  { 21991, true },
+  { 21923, true },
+  { 21937, true },
+  { 21947, true },
+  { 21961, true },
+  { 21971, true },
+  { 21986, true },
   { 22001, true },
-  { 22015, true },
+  { 22012, true },
   { 22025, true },
-  { 22040, true },
-  { 22055, true },
-  { 22066, true },
-  { 22079, true },
-  { 22091, true },
-  { 22104, true },
-  { 22116, true },
-  { 22124, true },
-  { 22142, true },
-  { 22163, true },
-  { 22184, true },
+  { 22037, true },
+  { 22050, true },
+  { 22062, true },
+  { 22070, true },
+  { 22088, true },
+  { 22109, true },
+  { 22130, true },
+  { 22151, true },
+  { 22165, true },
+  { 22181, true },
+  { 22194, false },
   { 22205, true },
-  { 22219, true },
-  { 22235, true },
-  { 22248, false },
-  { 22259, true },
-  { 22271, true },
-  { 22283, true },
+  { 22217, true },
+  { 22229, true },
+  { 22241, true },
+  { 22253, true },
+  { 22266, true },
+  { 22276, true },
+  { 22285, true },
   { 22295, true },
-  { 22307, true },
-  { 22320, true },
-  { 22330, true },
-  { 22339, true },
-  { 22349, true },
-  { 22364, true },
-  { 22375, true },
-  { 22400, true },
-  { 22415, true },
-  { 22428, true },
-  { 22447, true },
-  { 22459, true },
-  { 22475, true },
+  { 22310, true },
+  { 22321, true },
+  { 22346, true },
+  { 22361, true },
+  { 22374, true },
+  { 22393, true },
+  { 22405, true },
+  { 22421, true },
+  { 22433, true },
+  { 22449, true },
+  { 22468, true },
   { 22487, true },
-  { 22503, true },
-  { 22522, true },
-  { 22541, true },
-  { 22567, true },
-  { 22579, true },
-  { 22592, true },
-  { 22607, true },
-  { 22627, true },
-  { 22638, true },
-  { 22649, true },
-  { 22664, true },
-  { 22682, true },
-  { 22712, true },
-  { 22735, true },
-  { 22748, false },
-  { 22756, true },
-  { 22768, true },
-  { 22785, true },
-  { 22795, true },
-  { 22803, true },
-  { 22817, true },
-  { 22833, true },
-  { 22853, true },
-  { 22874, true },
-  { 22885, true },
+  { 22513, true },
+  { 22525, true },
+  { 22538, true },
+  { 22553, true },
+  { 22573, true },
+  { 22584, true },
+  { 22595, true },
+  { 22610, true },
+  { 22628, true },
+  { 22658, true },
+  { 22681, true },
+  { 22694, false },
+  { 22702, true },
+  { 22714, true },
+  { 22731, true },
+  { 22741, true },
+  { 22749, true },
+  { 22763, true },
+  { 22779, true },
+  { 22799, true },
+  { 22820, true },
+  { 22831, true },
+  { 22848, true },
+  { 22857, true },
+  { 22886, true },
   { 22902, true },
-  { 22911, true },
-  { 22940, true },
-  { 22956, true },
-  { 22982, true },
-  { 23000, true },
-  { 23021, true },
-  { 23033, true },
-  { 23044, true },
-  { 23066, true },
-  { 23078, true },
-  { 23091, true },
-  { 23103, true },
-  { 23121, true },
-  { 23139, true },
-  { 23160, true },
-  { 23185, true },
-  { 23200, true },
-  { 23218, true },
-  { 23237, true },
-  { 23262, true },
-  { 23275, true },
-  { 23290, true },
-  { 23318, true },
+  { 22928, true },
+  { 22946, true },
+  { 22967, true },
+  { 22979, true },
+  { 22990, true },
+  { 23012, true },
+  { 23024, true },
+  { 23037, true },
+  { 23049, true },
+  { 23067, true },
+  { 23085, true },
+  { 23106, true },
+  { 23131, true },
+  { 23146, true },
+  { 23164, true },
+  { 23183, true },
+  { 23208, true },
+  { 23221, true },
+  { 23236, true },
+  { 23264, true },
+  { 23287, true },
+  { 23302, true },
+  { 23315, true },
+  { 23328, true },
   { 23341, true },
-  { 23356, true },
-  { 23369, true },
-  { 23382, true },
-  { 23395, true },
-  { 23411, true },
-  { 23424, true },
-  { 23437, true },
-  { 23450, true },
-  { 23479, true },
-  { 23490, true },
-  { 23508, false },
-  { 23524, true },
-  { 23534, true },
-  { 23546, true },
-  { 23563, true },
-  { 23575, true },
-  { 23583, true },
-  { 23594, true },
+  { 23357, true },
+  { 23370, true },
+  { 23383, true },
+  { 23396, true },
+  { 23425, true },
+  { 23436, true },
+  { 23454, false },
+  { 23470, true },
+  { 23480, true },
+  { 23492, true },
+  { 23509, true },
+  { 23521, true },
+  { 23529, true },
+  { 23540, true },
+  { 23551, true },
+  { 23569, true },
+  { 23581, true },
+  { 23596, true },
   { 23605, true },
   { 23623