From 08283ac13774ba6bd70305f05f00aef8ad27090c Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Thu, 21 Dec 2023 12:14:15 -0700
Subject: [PATCH 01/88] bump development for v24.01.0

---
 docker-compose-standalone.yml                 | 46 +++++-----
 docker-compose.yml                            | 46 +++++-----
 docs/contributing-pcap.md                     |  2 +-
 docs/download.md                              |  4 +-
 docs/hedgehog-iso-build.md                    |  2 +-
 docs/kubernetes.md                            | 88 +++++++++----------
 docs/malcolm-iso.md                           |  2 +-
 docs/quickstart.md                            | 38 ++++----
 docs/ubuntu-install-example.md                | 38 ++++----
 kubernetes/03-opensearch.yml                  |  4 +-
 kubernetes/04-dashboards.yml                  |  2 +-
 kubernetes/05-upload.yml                      |  4 +-
 kubernetes/06-pcap-monitor.yml                |  4 +-
 kubernetes/07-arkime.yml                      |  4 +-
 kubernetes/08-api.yml                         |  2 +-
 kubernetes/09-dashboards-helper.yml           |  2 +-
 kubernetes/10-zeek.yml                        |  4 +-
 kubernetes/11-suricata.yml                    |  4 +-
 kubernetes/12-file-monitor.yml                |  4 +-
 kubernetes/13-filebeat.yml                    |  4 +-
 kubernetes/14-logstash.yml                    |  4 +-
 kubernetes/15-netbox-redis.yml                |  4 +-
 kubernetes/16-netbox-redis-cache.yml          |  2 +-
 kubernetes/17-netbox-postgres.yml             |  4 +-
 kubernetes/18-netbox.yml                      |  4 +-
 kubernetes/19-htadmin.yml                     |  4 +-
 kubernetes/20-pcap-capture.yml                |  4 +-
 kubernetes/21-zeek-live.yml                   |  4 +-
 kubernetes/22-suricata-live.yml               |  4 +-
 kubernetes/23-arkime-live.yml                 |  4 +-
 kubernetes/24-freq.yml                        |  2 +-
 kubernetes/98-nginx-proxy.yml                 |  4 +-
 .../aws/ami/packer_vars.json.example          |  2 +-
 33 files changed, 175 insertions(+), 175 deletions(-)

diff --git a/docker-compose-standalone.yml b/docker-compose-standalone.yml
index 697718674..0d670754a 100644
--- a/docker-compose-standalone.yml
+++ b/docker-compose-standalone.yml
@@ -12,7 +12,7 @@ x-logging:
 
 services:
   opensearch:
-    image: ghcr.io/idaholab/malcolm/opensearch:23.12.1
+    image: ghcr.io/idaholab/malcolm/opensearch:24.01.0
     # Technically the "hedgehog" profile doesn't have OpenSearch, but in that case
     #   OPENSEARCH_PRIMARY will be set to remote, which means the container will
     #   start but not actually run OpenSearch. It's included in both profiles to
@@ -54,7 +54,7 @@ services:
       retries: 3
       start_period: 180s
   dashboards-helper:
-    image: ghcr.io/idaholab/malcolm/dashboards-helper:23.12.1
+    image: ghcr.io/idaholab/malcolm/dashboards-helper:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -84,7 +84,7 @@ services:
       retries: 3
       start_period: 30s
   dashboards:
-    image: ghcr.io/idaholab/malcolm/dashboards:23.12.1
+    image: ghcr.io/idaholab/malcolm/dashboards:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -112,7 +112,7 @@ services:
       retries: 3
       start_period: 210s
   logstash:
-    image: ghcr.io/idaholab/malcolm/logstash-oss:23.12.1
+    image: ghcr.io/idaholab/malcolm/logstash-oss:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -159,7 +159,7 @@ services:
       retries: 3
       start_period: 600s
   filebeat:
-    image: ghcr.io/idaholab/malcolm/filebeat-oss:23.12.1
+    image: ghcr.io/idaholab/malcolm/filebeat-oss:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -194,7 +194,7 @@ services:
       retries: 3
       start_period: 60s
   arkime:
-    image: ghcr.io/idaholab/malcolm/arkime:23.12.1
+    image: ghcr.io/idaholab/malcolm/arkime:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -228,7 +228,7 @@ services:
       retries: 3
       start_period: 210s
   arkime-live:
-    image: ghcr.io/idaholab/malcolm/arkime:23.12.1
+    image: ghcr.io/idaholab/malcolm/arkime:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -261,7 +261,7 @@ services:
       - ./arkime/rules:/opt/arkime/rules:ro
       - ./pcap:/data/pcap
   zeek:
-    image: ghcr.io/idaholab/malcolm/zeek:23.12.1
+    image: ghcr.io/idaholab/malcolm/zeek:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -293,7 +293,7 @@ services:
       retries: 3
       start_period: 60s
   zeek-live:
-    image: ghcr.io/idaholab/malcolm/zeek:23.12.1
+    image: ghcr.io/idaholab/malcolm/zeek:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -321,7 +321,7 @@ services:
       - ./zeek/intel:/opt/zeek/share/zeek/site/intel
       - ./zeek/custom:/opt/zeek/share/zeek/site/custom:ro
   suricata:
-    image: ghcr.io/idaholab/malcolm/suricata:23.12.1
+    image: ghcr.io/idaholab/malcolm/suricata:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -349,7 +349,7 @@ services:
       retries: 3
       start_period: 120s
   suricata-live:
-    image: ghcr.io/idaholab/malcolm/suricata:23.12.1
+    image: ghcr.io/idaholab/malcolm/suricata:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -379,7 +379,7 @@ services:
       - ./suricata/rules:/opt/suricata/rules:ro
       - ./suricata/include-configs:/opt/suricata/include-configs:ro
   file-monitor:
-    image: ghcr.io/idaholab/malcolm/file-monitor:23.12.1
+    image: ghcr.io/idaholab/malcolm/file-monitor:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -407,7 +407,7 @@ services:
       retries: 3
       start_period: 60s
   pcap-capture:
-    image: ghcr.io/idaholab/malcolm/pcap-capture:23.12.1
+    image: ghcr.io/idaholab/malcolm/pcap-capture:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -436,7 +436,7 @@ services:
       - ./nginx/ca-trust:/var/local/ca-trust:ro
       - ./pcap/upload:/pcap
   pcap-monitor:
-    image: ghcr.io/idaholab/malcolm/pcap-monitor:23.12.1
+    image: ghcr.io/idaholab/malcolm/pcap-monitor:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -464,7 +464,7 @@ services:
       retries: 3
       start_period: 90s
   upload:
-    image: ghcr.io/idaholab/malcolm/file-upload:23.12.1
+    image: ghcr.io/idaholab/malcolm/file-upload:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -491,7 +491,7 @@ services:
       retries: 3
       start_period: 60s
   htadmin:
-    image: ghcr.io/idaholab/malcolm/htadmin:23.12.1
+    image: ghcr.io/idaholab/malcolm/htadmin:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -518,7 +518,7 @@ services:
       retries: 3
       start_period: 60s
   freq:
-    image: ghcr.io/idaholab/malcolm/freq:23.12.1
+    image: ghcr.io/idaholab/malcolm/freq:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -542,7 +542,7 @@ services:
       retries: 3
       start_period: 60s
   netbox:
-    image: ghcr.io/idaholab/malcolm/netbox:23.12.1
+    image: ghcr.io/idaholab/malcolm/netbox:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -576,7 +576,7 @@ services:
       retries: 3
       start_period: 120s
   netbox-postgres:
-    image: ghcr.io/idaholab/malcolm/postgresql:23.12.1
+    image: ghcr.io/idaholab/malcolm/postgresql:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -602,7 +602,7 @@ services:
       retries: 3
       start_period: 45s
   netbox-redis:
-    image: ghcr.io/idaholab/malcolm/redis:23.12.1
+    image: ghcr.io/idaholab/malcolm/redis:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -632,7 +632,7 @@ services:
       retries: 3
       start_period: 45s
   netbox-redis-cache:
-    image: ghcr.io/idaholab/malcolm/redis:23.12.1
+    image: ghcr.io/idaholab/malcolm/redis:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -661,7 +661,7 @@ services:
       retries: 3
       start_period: 45s
   api:
-    image: ghcr.io/idaholab/malcolm/api:23.12.1
+    image: ghcr.io/idaholab/malcolm/api:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     command: gunicorn --bind 0:5000 manage:app
@@ -688,7 +688,7 @@ services:
       retries: 3
       start_period: 60s
   nginx-proxy:
-    image: ghcr.io/idaholab/malcolm/nginx-proxy:23.12.1
+    image: ghcr.io/idaholab/malcolm/nginx-proxy:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
diff --git a/docker-compose.yml b/docker-compose.yml
index 3bc8b9014..b72ace183 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -15,7 +15,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/opensearch.Dockerfile
-    image: ghcr.io/idaholab/malcolm/opensearch:23.12.1
+    image: ghcr.io/idaholab/malcolm/opensearch:24.01.0
     # Technically the "hedgehog" profile doesn't have OpenSearch, but in that case
     #   OPENSEARCH_PRIMARY will be set to remote, which means the container will
     #   start but not actually run OpenSearch. It's included in both profiles to
@@ -60,7 +60,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/dashboards-helper.Dockerfile
-    image: ghcr.io/idaholab/malcolm/dashboards-helper:23.12.1
+    image: ghcr.io/idaholab/malcolm/dashboards-helper:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -93,7 +93,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/dashboards.Dockerfile
-    image: ghcr.io/idaholab/malcolm/dashboards:23.12.1
+    image: ghcr.io/idaholab/malcolm/dashboards:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -124,7 +124,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/logstash.Dockerfile
-    image: ghcr.io/idaholab/malcolm/logstash-oss:23.12.1
+    image: ghcr.io/idaholab/malcolm/logstash-oss:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -178,7 +178,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/filebeat.Dockerfile
-    image: ghcr.io/idaholab/malcolm/filebeat-oss:23.12.1
+    image: ghcr.io/idaholab/malcolm/filebeat-oss:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -216,7 +216,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/arkime.Dockerfile
-    image: ghcr.io/idaholab/malcolm/arkime:23.12.1
+    image: ghcr.io/idaholab/malcolm/arkime:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -255,7 +255,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/arkime.Dockerfile
-    image: ghcr.io/idaholab/malcolm/arkime:23.12.1
+    image: ghcr.io/idaholab/malcolm/arkime:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -294,7 +294,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/zeek.Dockerfile
-    image: ghcr.io/idaholab/malcolm/zeek:23.12.1
+    image: ghcr.io/idaholab/malcolm/zeek:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -330,7 +330,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/zeek.Dockerfile
-    image: ghcr.io/idaholab/malcolm/zeek:23.12.1
+    image: ghcr.io/idaholab/malcolm/zeek:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -362,7 +362,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/suricata.Dockerfile
-    image: ghcr.io/idaholab/malcolm/suricata:23.12.1
+    image: ghcr.io/idaholab/malcolm/suricata:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -393,7 +393,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/suricata.Dockerfile
-    image: ghcr.io/idaholab/malcolm/suricata:23.12.1
+    image: ghcr.io/idaholab/malcolm/suricata:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -426,7 +426,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/file-monitor.Dockerfile
-    image: ghcr.io/idaholab/malcolm/file-monitor:23.12.1
+    image: ghcr.io/idaholab/malcolm/file-monitor:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -457,7 +457,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/pcap-capture.Dockerfile
-    image: ghcr.io/idaholab/malcolm/pcap-capture:23.12.1
+    image: ghcr.io/idaholab/malcolm/pcap-capture:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -489,7 +489,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/pcap-monitor.Dockerfile
-    image: ghcr.io/idaholab/malcolm/pcap-monitor:23.12.1
+    image: ghcr.io/idaholab/malcolm/pcap-monitor:24.01.0
     profiles: ["malcolm", "hedgehog"]
     logging: *default-logging
     restart: "no"
@@ -520,7 +520,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/file-upload.Dockerfile
-    image: ghcr.io/idaholab/malcolm/file-upload:23.12.1
+    image: ghcr.io/idaholab/malcolm/file-upload:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
@@ -547,7 +547,7 @@ services:
       retries: 3
       start_period: 60s
   htadmin:
-    image: ghcr.io/idaholab/malcolm/htadmin:23.12.1
+    image: ghcr.io/idaholab/malcolm/htadmin:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     build:
@@ -577,7 +577,7 @@ services:
       retries: 3
       start_period: 60s
   freq:
-    image: ghcr.io/idaholab/malcolm/freq:23.12.1
+    image: ghcr.io/idaholab/malcolm/freq:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     build:
@@ -604,7 +604,7 @@ services:
       retries: 3
       start_period: 60s
   netbox:
-    image: ghcr.io/idaholab/malcolm/netbox:23.12.1
+    image: ghcr.io/idaholab/malcolm/netbox:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     build:
@@ -641,7 +641,7 @@ services:
       retries: 3
       start_period: 120s
   netbox-postgres:
-    image: ghcr.io/idaholab/malcolm/postgresql:23.12.1
+    image: ghcr.io/idaholab/malcolm/postgresql:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     build:
@@ -670,7 +670,7 @@ services:
       retries: 3
       start_period: 45s
   netbox-redis:
-    image: ghcr.io/idaholab/malcolm/redis:23.12.1
+    image: ghcr.io/idaholab/malcolm/redis:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     build:
@@ -703,7 +703,7 @@ services:
       retries: 3
       start_period: 45s
   netbox-redis-cache:
-    image: ghcr.io/idaholab/malcolm/redis:23.12.1
+    image: ghcr.io/idaholab/malcolm/redis:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     build:
@@ -735,7 +735,7 @@ services:
       retries: 3
       start_period: 45s
   api:
-    image: ghcr.io/idaholab/malcolm/api:23.12.1
+    image: ghcr.io/idaholab/malcolm/api:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     build:
@@ -768,7 +768,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfiles/nginx.Dockerfile
-    image: ghcr.io/idaholab/malcolm/nginx-proxy:23.12.1
+    image: ghcr.io/idaholab/malcolm/nginx-proxy:24.01.0
     profiles: ["malcolm"]
     logging: *default-logging
     restart: "no"
diff --git a/docs/contributing-pcap.md b/docs/contributing-pcap.md
index f9ed21c54..62ed8e26b 100644
--- a/docs/contributing-pcap.md
+++ b/docs/contributing-pcap.md
@@ -1,6 +1,6 @@
 # <a name="PCAP"></a>PCAP processors
 
-When a PCAP is uploaded (either through Malcolm's [upload web interface](upload.md#Upload) or just copied manually into the `./pcap/upload` directory), the `pcap-monitor` container has a script that picks up those PCAP files and publishes to a [ZeroMQ](https://zeromq.org/) topic that can be subscribed to by any other process that wants to analyze that PCAP. In Malcolm (at the time of the [v23.12.1 release]({{ site.github.repository_url }}/releases/tag/v23.12.1)), there are three such ZeroMQ topics: the `zeek`, `suricata` and `arkime` containers. These actually share the [same script]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/pcap_processor.py) to run the PCAP through Zeek, Suricata, and Arkime, respectively. For an example to follow, the `zeek` container is the less complicated of the two. To integrate a new PCAP processing tool into Malcolm (named `cooltool` for this example) the process would entail:
+When a PCAP is uploaded (either through Malcolm's [upload web interface](upload.md#Upload) or just copied manually into the `./pcap/upload` directory), the `pcap-monitor` container has a script that picks up those PCAP files and publishes to a [ZeroMQ](https://zeromq.org/) topic that can be subscribed to by any other process that wants to analyze that PCAP. In Malcolm (at the time of the [v24.01.0 release]({{ site.github.repository_url }}/releases/tag/v24.01.0)), there are three such ZeroMQ topics: the `zeek`, `suricata` and `arkime` containers. These actually share the [same script]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/pcap_processor.py) to run the PCAP through Zeek, Suricata, and Arkime, respectively. For an example to follow, the `zeek` container is the less complicated of the two. To integrate a new PCAP processing tool into Malcolm (named `cooltool` for this example) the process would entail:
 
 1. Define the service as instructed in the [Adding a new service](contributing-new-image.md#NewImage) section
     * Note how the existing `zeek` and `arkime` services use [bind mounts](contributing-local-modifications.md#Bind) to access the local `./pcap` directory
diff --git a/docs/download.md b/docs/download.md
index 588fc90ef..ba86b6edd 100644
--- a/docs/download.md
+++ b/docs/download.md
@@ -16,7 +16,7 @@ While official downloads of the Malcolm installer ISO are not provided, an **uno
 
 | ISO | SHA256 |
 |---|---|
-| [malcolm-23.12.1.iso](/iso/malcolm-23.12.1.iso) (5.2GiB) |  [`a3dd7dbcaa78322f1ae62b93efd4d95e3644a1b52b65ba24dd1bccf4ac6b173a`](/iso/malcolm-23.12.1.iso.sha256.txt) |
+| [malcolm-24.01.0.iso](/iso/malcolm-24.01.0.iso) (5.2GiB) |  [`xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`](/iso/malcolm-24.01.0.iso.sha256.txt) |
 
 ## Hedgehog Linux
 
@@ -26,7 +26,7 @@ While official downloads of the Malcolm installer ISO are not provided, an **uno
 
 | ISO | SHA256 |
 |---|---|
-| [hedgehog-23.12.1.iso](/iso/hedgehog-23.12.1.iso) (2.4GiB) |  [`009e67d61ae6e8ffa53e8e134091263b91c0f7a442a0717594434761db60b1b5`](/iso/hedgehog-23.12.1.iso.sha256.txt) |
+| [hedgehog-24.01.0.iso](/iso/hedgehog-24.01.0.iso) (2.4GiB) |  [`xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`](/iso/hedgehog-24.01.0.iso.sha256.txt) |
 
 ## Warning
 
diff --git a/docs/hedgehog-iso-build.md b/docs/hedgehog-iso-build.md
index a97d0d283..4b228dc12 100644
--- a/docs/hedgehog-iso-build.md
+++ b/docs/hedgehog-iso-build.md
@@ -29,7 +29,7 @@ Building the ISO may take 90 minutes or more depending on your system. As the bu
 
 ```
 …
-Finished, created "/sensor-build/hedgehog-23.12.1.iso"
+Finished, created "/sensor-build/hedgehog-24.01.0.iso"
 …
 ```
 
diff --git a/docs/kubernetes.md b/docs/kubernetes.md
index b1b351d50..2c232ba4a 100644
--- a/docs/kubernetes.md
+++ b/docs/kubernetes.md
@@ -272,28 +272,28 @@ agent2    | agent2   | 192.168.56.12 | agent2      | k3s           | 6000m     |
 agent1    | agent1   | 192.168.56.11 | agent1      | k3s           | 6000m     | 861.34m   | 14.36%      | 19.55Gi      | 9.29Gi       | 61.28Gi       | 11           |
 
 Pod Name                                       | State   | Pod IP     | Pod Kind   | Worker Node | CPU Usage | Memory Usage | Container Name:Restarts        | Container Image              |
-api-deployment-6f4686cf59-bn286                | Running | 10.42.2.14 | ReplicaSet | agent1      | 0.11m     | 59.62Mi      | api-container:0                | api:23.12.1               |
-file-monitor-deployment-855646bd75-vk7st       | Running | 10.42.2.16 | ReplicaSet | agent1      | 8.47m     | 1.46Gi       | file-monitor-container:0       | file-monitor:23.12.1      |
-zeek-live-deployment-64b69d4b6f-947vr          | Running | 10.42.2.17 | ReplicaSet | agent1      | 0.02m     | 12.44Mi      | zeek-live-container:0          | zeek:23.12.1              |
-dashboards-helper-deployment-69dc54f6b6-ln4sq  | Running | 10.42.2.15 | ReplicaSet | agent1      | 10.77m    | 38.43Mi      | dashboards-helper-container:0  | dashboards-helper:23.12.1 |
-upload-deployment-586568844b-4jnk9             | Running | 10.42.2.18 | ReplicaSet | agent1      | 0.15m     | 29.78Mi      | upload-container:0             | file-upload:23.12.1       |
-filebeat-deployment-6ff8bc444f-t7h49           | Running | 10.42.2.20 | ReplicaSet | agent1      | 2.84m     | 70.71Mi      | filebeat-container:0           | filebeat-oss:23.12.1      |
-zeek-offline-deployment-844f4865bd-g2sdm       | Running | 10.42.2.21 | ReplicaSet | agent1      | 0.17m     | 41.92Mi      | zeek-offline-container:0       | zeek:23.12.1              |
-logstash-deployment-6fbc9fdcd5-hwx8s           | Running | 10.42.2.22 | ReplicaSet | agent1      | 85.55m    | 2.91Gi       | logstash-container:0           | logstash-oss:23.12.1      |
-netbox-deployment-cdcff4977-hbbw5              | Running | 10.42.2.23 | ReplicaSet | agent1      | 807.64m   | 702.86Mi     | netbox-container:0             | netbox:23.12.1            |
-suricata-offline-deployment-6ccdb89478-z5696   | Running | 10.42.2.19 | ReplicaSet | agent1      | 0.22m     | 34.88Mi      | suricata-offline-container:0   | suricata:23.12.1          |
-dashboards-deployment-69b5465db-vz88g          | Running | 10.42.1.14 | ReplicaSet | agent2      | 0.94m     | 100.12Mi     | dashboards-container:0         | dashboards:23.12.1        |
-netbox-redis-cache-deployment-5f77d47b8b-z7t2z | Running | 10.42.1.15 | ReplicaSet | agent2      | 3.57m     | 7.36Mi       | netbox-redis-cache-container:0 | redis:23.12.1             |
-suricata-live-deployment-6494c77759-9rlnt      | Running | 10.42.1.16 | ReplicaSet | agent2      | 0.02m     | 9.69Mi       | suricata-live-container:0      | suricata:23.12.1          |
-freq-deployment-cfd84fd97-dnngf                | Running | 10.42.1.17 | ReplicaSet | agent2      | 0.2m      | 26.36Mi      | freq-container:0               | freq:23.12.1              |
-arkime-deployment-56999cdd66-s98pp             | Running | 10.42.1.18 | ReplicaSet | agent2      | 4.15m     | 113.07Mi     | arkime-container:0             | arkime:23.12.1            |
-pcap-monitor-deployment-594ff674c4-fsm7m       | Running | 10.42.1.19 | ReplicaSet | agent2      | 1.24m     | 48.44Mi      | pcap-monitor-container:0       | pcap-monitor:23.12.1      |
-pcap-capture-deployment-7c8bf6957-jzpzn        | Running | 10.42.1.20 | ReplicaSet | agent2      | 0.02m     | 9.64Mi       | pcap-capture-container:0       | pcap-capture:23.12.1      |
-netbox-postgres-deployment-5879b8dffc-kkt56    | Running | 10.42.1.21 | ReplicaSet | agent2      | 70.91m    | 33.02Mi      | netbox-postgres-container:0    | postgresql:23.12.1        |
-htadmin-deployment-6fc46888b9-sq6ln            | Running | 10.42.1.23 | ReplicaSet | agent2      | 0.14m     | 30.53Mi      | htadmin-container:0            | htadmin:23.12.1           |
-netbox-redis-deployment-5bcd8f6c96-j5xpf       | Running | 10.42.1.24 | ReplicaSet | agent2      | 1.46m     | 7.34Mi       | netbox-redis-container:0       | redis:23.12.1             |
-nginx-proxy-deployment-69fcc4968d-f68tq        | Running | 10.42.1.22 | ReplicaSet | agent2      | 0.31m     | 22.63Mi      | nginx-proxy-container:0        | nginx-proxy:23.12.1       |
-opensearch-deployment-75498799f6-4zmwd         | Running | 10.42.1.25 | ReplicaSet | agent2      | 89.8m     | 11.03Gi      | opensearch-container:0         | opensearch:23.12.1        |
+api-deployment-6f4686cf59-bn286                | Running | 10.42.2.14 | ReplicaSet | agent1      | 0.11m     | 59.62Mi      | api-container:0                | api:24.01.0               |
+file-monitor-deployment-855646bd75-vk7st       | Running | 10.42.2.16 | ReplicaSet | agent1      | 8.47m     | 1.46Gi       | file-monitor-container:0       | file-monitor:24.01.0      |
+zeek-live-deployment-64b69d4b6f-947vr          | Running | 10.42.2.17 | ReplicaSet | agent1      | 0.02m     | 12.44Mi      | zeek-live-container:0          | zeek:24.01.0              |
+dashboards-helper-deployment-69dc54f6b6-ln4sq  | Running | 10.42.2.15 | ReplicaSet | agent1      | 10.77m    | 38.43Mi      | dashboards-helper-container:0  | dashboards-helper:24.01.0 |
+upload-deployment-586568844b-4jnk9             | Running | 10.42.2.18 | ReplicaSet | agent1      | 0.15m     | 29.78Mi      | upload-container:0             | file-upload:24.01.0       |
+filebeat-deployment-6ff8bc444f-t7h49           | Running | 10.42.2.20 | ReplicaSet | agent1      | 2.84m     | 70.71Mi      | filebeat-container:0           | filebeat-oss:24.01.0      |
+zeek-offline-deployment-844f4865bd-g2sdm       | Running | 10.42.2.21 | ReplicaSet | agent1      | 0.17m     | 41.92Mi      | zeek-offline-container:0       | zeek:24.01.0              |
+logstash-deployment-6fbc9fdcd5-hwx8s           | Running | 10.42.2.22 | ReplicaSet | agent1      | 85.55m    | 2.91Gi       | logstash-container:0           | logstash-oss:24.01.0      |
+netbox-deployment-cdcff4977-hbbw5              | Running | 10.42.2.23 | ReplicaSet | agent1      | 807.64m   | 702.86Mi     | netbox-container:0             | netbox:24.01.0            |
+suricata-offline-deployment-6ccdb89478-z5696   | Running | 10.42.2.19 | ReplicaSet | agent1      | 0.22m     | 34.88Mi      | suricata-offline-container:0   | suricata:24.01.0          |
+dashboards-deployment-69b5465db-vz88g          | Running | 10.42.1.14 | ReplicaSet | agent2      | 0.94m     | 100.12Mi     | dashboards-container:0         | dashboards:24.01.0        |
+netbox-redis-cache-deployment-5f77d47b8b-z7t2z | Running | 10.42.1.15 | ReplicaSet | agent2      | 3.57m     | 7.36Mi       | netbox-redis-cache-container:0 | redis:24.01.0             |
+suricata-live-deployment-6494c77759-9rlnt      | Running | 10.42.1.16 | ReplicaSet | agent2      | 0.02m     | 9.69Mi       | suricata-live-container:0      | suricata:24.01.0          |
+freq-deployment-cfd84fd97-dnngf                | Running | 10.42.1.17 | ReplicaSet | agent2      | 0.2m      | 26.36Mi      | freq-container:0               | freq:24.01.0              |
+arkime-deployment-56999cdd66-s98pp             | Running | 10.42.1.18 | ReplicaSet | agent2      | 4.15m     | 113.07Mi     | arkime-container:0             | arkime:24.01.0            |
+pcap-monitor-deployment-594ff674c4-fsm7m       | Running | 10.42.1.19 | ReplicaSet | agent2      | 1.24m     | 48.44Mi      | pcap-monitor-container:0       | pcap-monitor:24.01.0      |
+pcap-capture-deployment-7c8bf6957-jzpzn        | Running | 10.42.1.20 | ReplicaSet | agent2      | 0.02m     | 9.64Mi       | pcap-capture-container:0       | pcap-capture:24.01.0      |
+netbox-postgres-deployment-5879b8dffc-kkt56    | Running | 10.42.1.21 | ReplicaSet | agent2      | 70.91m    | 33.02Mi      | netbox-postgres-container:0    | postgresql:24.01.0        |
+htadmin-deployment-6fc46888b9-sq6ln            | Running | 10.42.1.23 | ReplicaSet | agent2      | 0.14m     | 30.53Mi      | htadmin-container:0            | htadmin:24.01.0           |
+netbox-redis-deployment-5bcd8f6c96-j5xpf       | Running | 10.42.1.24 | ReplicaSet | agent2      | 1.46m     | 7.34Mi       | netbox-redis-container:0       | redis:24.01.0             |
+nginx-proxy-deployment-69fcc4968d-f68tq        | Running | 10.42.1.22 | ReplicaSet | agent2      | 0.31m     | 22.63Mi      | nginx-proxy-container:0        | nginx-proxy:24.01.0       |
+opensearch-deployment-75498799f6-4zmwd         | Running | 10.42.1.25 | ReplicaSet | agent2      | 89.8m     | 11.03Gi      | opensearch-container:0         | opensearch:24.01.0        |
 ```
 
 The other control scripts (`stop`, `restart`, `logs`, etc.) work in a similar manner as in a Docker-based deployment. One notable difference is the `wipe` script: data on PersistentVolume storage cannot be deleted by `wipe`. It must be deleted manually on the storage media underlying the PersistentVolumes.
@@ -555,28 +555,28 @@ agent1    | agent1   | 192.168.56.11 | agent1      | k3s           | 6000m     |
 agent2    | agent2   | 192.168.56.12 | agent2      | k3s           | 6000m     | 552.71m   | 9.21%       | 19.55Gi      | 13.27Gi      | 61.28Gi       | 12           |
 
 Pod Name                                       | State   | Pod IP     | Pod Kind   | Worker Node | CPU Usage | Memory Usage | Container Name:Restarts        | Container Image              |
-netbox-redis-cache-deployment-5f77d47b8b-jr9nt | Running | 10.42.2.6  | ReplicaSet | agent2      | 1.89m     | 7.24Mi       | netbox-redis-cache-container:0 | redis:23.12.1             |
-netbox-redis-deployment-5bcd8f6c96-bkzmh       | Running | 10.42.2.5  | ReplicaSet | agent2      | 1.62m     | 7.52Mi       | netbox-redis-container:0       | redis:23.12.1             |
-dashboards-helper-deployment-69dc54f6b6-ks7ps  | Running | 10.42.2.4  | ReplicaSet | agent2      | 12.95m    | 40.75Mi      | dashboards-helper-container:0  | dashboards-helper:23.12.1 |
-freq-deployment-cfd84fd97-5bwp6                | Running | 10.42.2.8  | ReplicaSet | agent2      | 0.11m     | 26.33Mi      | freq-container:0               | freq:23.12.1              |
-pcap-capture-deployment-7c8bf6957-hkvkn        | Running | 10.42.2.12 | ReplicaSet | agent2      | 0.02m     | 9.21Mi       | pcap-capture-container:0       | pcap-capture:23.12.1      |
-nginx-proxy-deployment-69fcc4968d-m57rz        | Running | 10.42.2.10 | ReplicaSet | agent2      | 0.91m     | 22.72Mi      | nginx-proxy-container:0        | nginx-proxy:23.12.1       |
-htadmin-deployment-6fc46888b9-vpt7l            | Running | 10.42.2.7  | ReplicaSet | agent2      | 0.16m     | 30.21Mi      | htadmin-container:0            | htadmin:23.12.1           |
-opensearch-deployment-75498799f6-5v92w         | Running | 10.42.2.13 | ReplicaSet | agent2      | 139.2m    | 10.86Gi      | opensearch-container:0         | opensearch:23.12.1        |
-zeek-live-deployment-64b69d4b6f-fcb6n          | Running | 10.42.2.9  | ReplicaSet | agent2      | 0.02m     | 109.55Mi     | zeek-live-container:0          | zeek:23.12.1              |
-dashboards-deployment-69b5465db-kgsqk          | Running | 10.42.2.3  | ReplicaSet | agent2      | 14.98m    | 108.85Mi     | dashboards-container:0         | dashboards:23.12.1        |
-arkime-deployment-56999cdd66-xxpw9             | Running | 10.42.2.11 | ReplicaSet | agent2      | 208.95m   | 78.42Mi      | arkime-container:0             | arkime:23.12.1            |
-api-deployment-6f4686cf59-xt9md                | Running | 10.42.1.3  | ReplicaSet | agent1      | 0.14m     | 56.88Mi      | api-container:0                | api:23.12.1               |
-netbox-postgres-deployment-5879b8dffc-lb4qm    | Running | 10.42.1.6  | ReplicaSet | agent1      | 141.2m    | 48.02Mi      | netbox-postgres-container:0    | postgresql:23.12.1        |
-pcap-monitor-deployment-594ff674c4-fwq7g       | Running | 10.42.1.12 | ReplicaSet | agent1      | 3.93m     | 46.44Mi      | pcap-monitor-container:0       | pcap-monitor:23.12.1      |
-suricata-offline-deployment-6ccdb89478-j5fgj   | Running | 10.42.1.10 | ReplicaSet | agent1      | 10.42m    | 35.12Mi      | suricata-offline-container:0   | suricata:23.12.1          |
-suricata-live-deployment-6494c77759-rpt48      | Running | 10.42.1.8  | ReplicaSet | agent1      | 0.01m     | 9.62Mi       | suricata-live-container:0      | suricata:23.12.1          |
-netbox-deployment-cdcff4977-7ns2q              | Running | 10.42.1.7  | ReplicaSet | agent1      | 830.47m   | 530.7Mi      | netbox-container:0             | netbox:23.12.1            |
-zeek-offline-deployment-844f4865bd-7x68b       | Running | 10.42.1.9  | ReplicaSet | agent1      | 1.44m     | 43.66Mi      | zeek-offline-container:0       | zeek:23.12.1              |
-filebeat-deployment-6ff8bc444f-pdgzj           | Running | 10.42.1.11 | ReplicaSet | agent1      | 0.78m     | 75.25Mi      | filebeat-container:0           | filebeat-oss:23.12.1      |
-file-monitor-deployment-855646bd75-nbngq       | Running | 10.42.1.4  | ReplicaSet | agent1      | 1.69m     | 1.46Gi       | file-monitor-container:0       | file-monitor:23.12.1      |
-upload-deployment-586568844b-9s7f5             | Running | 10.42.1.13 | ReplicaSet | agent1      | 0.14m     | 29.62Mi      | upload-container:0             | file-upload:23.12.1       |
-logstash-deployment-6fbc9fdcd5-2hhx8           | Running | 10.42.1.5  | ReplicaSet | agent1      | 3236.29m  | 357.36Mi     | logstash-container:0           | logstash-oss:23.12.1      |
+netbox-redis-cache-deployment-5f77d47b8b-jr9nt | Running | 10.42.2.6  | ReplicaSet | agent2      | 1.89m     | 7.24Mi       | netbox-redis-cache-container:0 | redis:24.01.0             |
+netbox-redis-deployment-5bcd8f6c96-bkzmh       | Running | 10.42.2.5  | ReplicaSet | agent2      | 1.62m     | 7.52Mi       | netbox-redis-container:0       | redis:24.01.0             |
+dashboards-helper-deployment-69dc54f6b6-ks7ps  | Running | 10.42.2.4  | ReplicaSet | agent2      | 12.95m    | 40.75Mi      | dashboards-helper-container:0  | dashboards-helper:24.01.0 |
+freq-deployment-cfd84fd97-5bwp6                | Running | 10.42.2.8  | ReplicaSet | agent2      | 0.11m     | 26.33Mi      | freq-container:0               | freq:24.01.0              |
+pcap-capture-deployment-7c8bf6957-hkvkn        | Running | 10.42.2.12 | ReplicaSet | agent2      | 0.02m     | 9.21Mi       | pcap-capture-container:0       | pcap-capture:24.01.0      |
+nginx-proxy-deployment-69fcc4968d-m57rz        | Running | 10.42.2.10 | ReplicaSet | agent2      | 0.91m     | 22.72Mi      | nginx-proxy-container:0        | nginx-proxy:24.01.0       |
+htadmin-deployment-6fc46888b9-vpt7l            | Running | 10.42.2.7  | ReplicaSet | agent2      | 0.16m     | 30.21Mi      | htadmin-container:0            | htadmin:24.01.0           |
+opensearch-deployment-75498799f6-5v92w         | Running | 10.42.2.13 | ReplicaSet | agent2      | 139.2m    | 10.86Gi      | opensearch-container:0         | opensearch:24.01.0        |
+zeek-live-deployment-64b69d4b6f-fcb6n          | Running | 10.42.2.9  | ReplicaSet | agent2      | 0.02m     | 109.55Mi     | zeek-live-container:0          | zeek:24.01.0              |
+dashboards-deployment-69b5465db-kgsqk          | Running | 10.42.2.3  | ReplicaSet | agent2      | 14.98m    | 108.85Mi     | dashboards-container:0         | dashboards:24.01.0        |
+arkime-deployment-56999cdd66-xxpw9             | Running | 10.42.2.11 | ReplicaSet | agent2      | 208.95m   | 78.42Mi      | arkime-container:0             | arkime:24.01.0            |
+api-deployment-6f4686cf59-xt9md                | Running | 10.42.1.3  | ReplicaSet | agent1      | 0.14m     | 56.88Mi      | api-container:0                | api:24.01.0               |
+netbox-postgres-deployment-5879b8dffc-lb4qm    | Running | 10.42.1.6  | ReplicaSet | agent1      | 141.2m    | 48.02Mi      | netbox-postgres-container:0    | postgresql:24.01.0        |
+pcap-monitor-deployment-594ff674c4-fwq7g       | Running | 10.42.1.12 | ReplicaSet | agent1      | 3.93m     | 46.44Mi      | pcap-monitor-container:0       | pcap-monitor:24.01.0      |
+suricata-offline-deployment-6ccdb89478-j5fgj   | Running | 10.42.1.10 | ReplicaSet | agent1      | 10.42m    | 35.12Mi      | suricata-offline-container:0   | suricata:24.01.0          |
+suricata-live-deployment-6494c77759-rpt48      | Running | 10.42.1.8  | ReplicaSet | agent1      | 0.01m     | 9.62Mi       | suricata-live-container:0      | suricata:24.01.0          |
+netbox-deployment-cdcff4977-7ns2q              | Running | 10.42.1.7  | ReplicaSet | agent1      | 830.47m   | 530.7Mi      | netbox-container:0             | netbox:24.01.0            |
+zeek-offline-deployment-844f4865bd-7x68b       | Running | 10.42.1.9  | ReplicaSet | agent1      | 1.44m     | 43.66Mi      | zeek-offline-container:0       | zeek:24.01.0              |
+filebeat-deployment-6ff8bc444f-pdgzj           | Running | 10.42.1.11 | ReplicaSet | agent1      | 0.78m     | 75.25Mi      | filebeat-container:0           | filebeat-oss:24.01.0      |
+file-monitor-deployment-855646bd75-nbngq       | Running | 10.42.1.4  | ReplicaSet | agent1      | 1.69m     | 1.46Gi       | file-monitor-container:0       | file-monitor:24.01.0      |
+upload-deployment-586568844b-9s7f5             | Running | 10.42.1.13 | ReplicaSet | agent1      | 0.14m     | 29.62Mi      | upload-container:0             | file-upload:24.01.0       |
+logstash-deployment-6fbc9fdcd5-2hhx8           | Running | 10.42.1.5  | ReplicaSet | agent1      | 3236.29m  | 357.36Mi     | logstash-container:0           | logstash-oss:24.01.0      |
 ```
 
 View container logs for the Malcolm deployment with `./scripts/logs` (if **[stern](https://github.com/stern/stern)** present in `$PATH`):
diff --git a/docs/malcolm-iso.md b/docs/malcolm-iso.md
index 640276d77..fff839df5 100644
--- a/docs/malcolm-iso.md
+++ b/docs/malcolm-iso.md
@@ -41,7 +41,7 @@ Building the ISO may take 30 minutes or more depending on the system. As the bui
 
 ```
 …
-Finished, created "/malcolm-build/malcolm-iso/malcolm-23.12.1.iso"
+Finished, created "/malcolm-build/malcolm-iso/malcolm-24.01.0.iso"
 …
 ```
 
diff --git a/docs/quickstart.md b/docs/quickstart.md
index 91adf3d93..acf540722 100644
--- a/docs/quickstart.md
+++ b/docs/quickstart.md
@@ -54,25 +54,25 @@ You can then observe the images have been retrieved by running `docker images`:
 ```
 $ docker images
 REPOSITORY                                                     TAG               IMAGE ID       CREATED      SIZE
-ghcr.io/idaholab/malcolm/api                                   23.12.1           xxxxxxxxxxxx   3 days ago   158MB
-ghcr.io/idaholab/malcolm/arkime                                23.12.1           xxxxxxxxxxxx   3 days ago   816MB
-ghcr.io/idaholab/malcolm/dashboards                            23.12.1           xxxxxxxxxxxx   3 days ago   1.02GB
-ghcr.io/idaholab/malcolm/dashboards-helper                     23.12.1           xxxxxxxxxxxx   3 days ago   184MB
-ghcr.io/idaholab/malcolm/file-monitor                          23.12.1           xxxxxxxxxxxx   3 days ago   588MB
-ghcr.io/idaholab/malcolm/file-upload                           23.12.1           xxxxxxxxxxxx   3 days ago   259MB
-ghcr.io/idaholab/malcolm/filebeat-oss                          23.12.1           xxxxxxxxxxxx   3 days ago   624MB
-ghcr.io/idaholab/malcolm/freq                                  23.12.1           xxxxxxxxxxxx   3 days ago   132MB
-ghcr.io/idaholab/malcolm/htadmin                               23.12.1           xxxxxxxxxxxx   3 days ago   242MB
-ghcr.io/idaholab/malcolm/logstash-oss                          23.12.1           xxxxxxxxxxxx   3 days ago   1.35GB
-ghcr.io/idaholab/malcolm/netbox                                23.12.1           xxxxxxxxxxxx   3 days ago   1.01GB
-ghcr.io/idaholab/malcolm/nginx-proxy                           23.12.1           xxxxxxxxxxxx   3 days ago   121MB
-ghcr.io/idaholab/malcolm/opensearch                            23.12.1           xxxxxxxxxxxx   3 days ago   1.17GB
-ghcr.io/idaholab/malcolm/pcap-capture                          23.12.1           xxxxxxxxxxxx   3 days ago   121MB
-ghcr.io/idaholab/malcolm/pcap-monitor                          23.12.1           xxxxxxxxxxxx   3 days ago   213MB
-ghcr.io/idaholab/malcolm/postgresql                            23.12.1           xxxxxxxxxxxx   3 days ago   268MB
-ghcr.io/idaholab/malcolm/redis                                 23.12.1           xxxxxxxxxxxx   3 days ago   34.2MB
-ghcr.io/idaholab/malcolm/suricata                              23.12.1           xxxxxxxxxxxx   3 days ago   278MB
-ghcr.io/idaholab/malcolm/zeek                                  23.12.1           xxxxxxxxxxxx   3 days ago   1GB
+ghcr.io/idaholab/malcolm/api                                   24.01.0           xxxxxxxxxxxx   3 days ago   158MB
+ghcr.io/idaholab/malcolm/arkime                                24.01.0           xxxxxxxxxxxx   3 days ago   816MB
+ghcr.io/idaholab/malcolm/dashboards                            24.01.0           xxxxxxxxxxxx   3 days ago   1.02GB
+ghcr.io/idaholab/malcolm/dashboards-helper                     24.01.0           xxxxxxxxxxxx   3 days ago   184MB
+ghcr.io/idaholab/malcolm/file-monitor                          24.01.0           xxxxxxxxxxxx   3 days ago   588MB
+ghcr.io/idaholab/malcolm/file-upload                           24.01.0           xxxxxxxxxxxx   3 days ago   259MB
+ghcr.io/idaholab/malcolm/filebeat-oss                          24.01.0           xxxxxxxxxxxx   3 days ago   624MB
+ghcr.io/idaholab/malcolm/freq                                  24.01.0           xxxxxxxxxxxx   3 days ago   132MB
+ghcr.io/idaholab/malcolm/htadmin                               24.01.0           xxxxxxxxxxxx   3 days ago   242MB
+ghcr.io/idaholab/malcolm/logstash-oss                          24.01.0           xxxxxxxxxxxx   3 days ago   1.35GB
+ghcr.io/idaholab/malcolm/netbox                                24.01.0           xxxxxxxxxxxx   3 days ago   1.01GB
+ghcr.io/idaholab/malcolm/nginx-proxy                           24.01.0           xxxxxxxxxxxx   3 days ago   121MB
+ghcr.io/idaholab/malcolm/opensearch                            24.01.0           xxxxxxxxxxxx   3 days ago   1.17GB
+ghcr.io/idaholab/malcolm/pcap-capture                          24.01.0           xxxxxxxxxxxx   3 days ago   121MB
+ghcr.io/idaholab/malcolm/pcap-monitor                          24.01.0           xxxxxxxxxxxx   3 days ago   213MB
+ghcr.io/idaholab/malcolm/postgresql                            24.01.0           xxxxxxxxxxxx   3 days ago   268MB
+ghcr.io/idaholab/malcolm/redis                                 24.01.0           xxxxxxxxxxxx   3 days ago   34.2MB
+ghcr.io/idaholab/malcolm/suricata                              24.01.0           xxxxxxxxxxxx   3 days ago   278MB
+ghcr.io/idaholab/malcolm/zeek                                  24.01.0           xxxxxxxxxxxx   3 days ago   1GB
 ```
 
 ### Import from pre-packaged tarballs
diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md
index 389a0ad39..4e2d0c652 100644
--- a/docs/ubuntu-install-example.md
+++ b/docs/ubuntu-install-example.md
@@ -252,25 +252,25 @@ Pulling zeek              ... done
 
 user@host:~/Malcolm$ docker images
 REPOSITORY                                                     TAG               IMAGE ID       CREATED      SIZE
-ghcr.io/idaholab/malcolm/api                                   23.12.1           xxxxxxxxxxxx   3 days ago   158MB
-ghcr.io/idaholab/malcolm/arkime                                23.12.1           xxxxxxxxxxxx   3 days ago   816MB
-ghcr.io/idaholab/malcolm/dashboards                            23.12.1           xxxxxxxxxxxx   3 days ago   1.02GB
-ghcr.io/idaholab/malcolm/dashboards-helper                     23.12.1           xxxxxxxxxxxx   3 days ago   184MB
-ghcr.io/idaholab/malcolm/file-monitor                          23.12.1           xxxxxxxxxxxx   3 days ago   588MB
-ghcr.io/idaholab/malcolm/file-upload                           23.12.1           xxxxxxxxxxxx   3 days ago   259MB
-ghcr.io/idaholab/malcolm/filebeat-oss                          23.12.1           xxxxxxxxxxxx   3 days ago   624MB
-ghcr.io/idaholab/malcolm/freq                                  23.12.1           xxxxxxxxxxxx   3 days ago   132MB
-ghcr.io/idaholab/malcolm/htadmin                               23.12.1           xxxxxxxxxxxx   3 days ago   242MB
-ghcr.io/idaholab/malcolm/logstash-oss                          23.12.1           xxxxxxxxxxxx   3 days ago   1.35GB
-ghcr.io/idaholab/malcolm/netbox                                23.12.1           xxxxxxxxxxxx   3 days ago   1.01GB
-ghcr.io/idaholab/malcolm/nginx-proxy                           23.12.1           xxxxxxxxxxxx   3 days ago   121MB
-ghcr.io/idaholab/malcolm/opensearch                            23.12.1           xxxxxxxxxxxx   3 days ago   1.17GB
-ghcr.io/idaholab/malcolm/pcap-capture                          23.12.1           xxxxxxxxxxxx   3 days ago   121MB
-ghcr.io/idaholab/malcolm/pcap-monitor                          23.12.1           xxxxxxxxxxxx   3 days ago   213MB
-ghcr.io/idaholab/malcolm/postgresql                            23.12.1           xxxxxxxxxxxx   3 days ago   268MB
-ghcr.io/idaholab/malcolm/redis                                 23.12.1           xxxxxxxxxxxx   3 days ago   34.2MB
-ghcr.io/idaholab/malcolm/suricata                              23.12.1           xxxxxxxxxxxx   3 days ago   278MB
-ghcr.io/idaholab/malcolm/zeek                                  23.12.1           xxxxxxxxxxxx   3 days ago   1GB
+ghcr.io/idaholab/malcolm/api                                   24.01.0           xxxxxxxxxxxx   3 days ago   158MB
+ghcr.io/idaholab/malcolm/arkime                                24.01.0           xxxxxxxxxxxx   3 days ago   816MB
+ghcr.io/idaholab/malcolm/dashboards                            24.01.0           xxxxxxxxxxxx   3 days ago   1.02GB
+ghcr.io/idaholab/malcolm/dashboards-helper                     24.01.0           xxxxxxxxxxxx   3 days ago   184MB
+ghcr.io/idaholab/malcolm/file-monitor                          24.01.0           xxxxxxxxxxxx   3 days ago   588MB
+ghcr.io/idaholab/malcolm/file-upload                           24.01.0           xxxxxxxxxxxx   3 days ago   259MB
+ghcr.io/idaholab/malcolm/filebeat-oss                          24.01.0           xxxxxxxxxxxx   3 days ago   624MB
+ghcr.io/idaholab/malcolm/freq                                  24.01.0           xxxxxxxxxxxx   3 days ago   132MB
+ghcr.io/idaholab/malcolm/htadmin                               24.01.0           xxxxxxxxxxxx   3 days ago   242MB
+ghcr.io/idaholab/malcolm/logstash-oss                          24.01.0           xxxxxxxxxxxx   3 days ago   1.35GB
+ghcr.io/idaholab/malcolm/netbox                                24.01.0           xxxxxxxxxxxx   3 days ago   1.01GB
+ghcr.io/idaholab/malcolm/nginx-proxy                           24.01.0           xxxxxxxxxxxx   3 days ago   121MB
+ghcr.io/idaholab/malcolm/opensearch                            24.01.0           xxxxxxxxxxxx   3 days ago   1.17GB
+ghcr.io/idaholab/malcolm/pcap-capture                          24.01.0           xxxxxxxxxxxx   3 days ago   121MB
+ghcr.io/idaholab/malcolm/pcap-monitor                          24.01.0           xxxxxxxxxxxx   3 days ago   213MB
+ghcr.io/idaholab/malcolm/postgresql                            24.01.0           xxxxxxxxxxxx   3 days ago   268MB
+ghcr.io/idaholab/malcolm/redis                                 24.01.0           xxxxxxxxxxxx   3 days ago   34.2MB
+ghcr.io/idaholab/malcolm/suricata                              24.01.0           xxxxxxxxxxxx   3 days ago   278MB
+ghcr.io/idaholab/malcolm/zeek                                  24.01.0           xxxxxxxxxxxx   3 days ago   1GB
 ```
 
 Finally, start Malcolm. When Malcolm starts it will stream informational and debug messages to the console until it has completed initializing.
diff --git a/kubernetes/03-opensearch.yml b/kubernetes/03-opensearch.yml
index 97ef53dfe..4a14aaeed 100644
--- a/kubernetes/03-opensearch.yml
+++ b/kubernetes/03-opensearch.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: opensearch-container
-        image: ghcr.io/idaholab/malcolm/opensearch:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/opensearch:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -71,7 +71,7 @@ spec:
             subPath: "opensearch"
       initContainers:
       - name: opensearch-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/04-dashboards.yml b/kubernetes/04-dashboards.yml
index 8481d5d6c..cfbb8b422 100644
--- a/kubernetes/04-dashboards.yml
+++ b/kubernetes/04-dashboards.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: dashboards-container
-        image: ghcr.io/idaholab/malcolm/dashboards:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dashboards:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/05-upload.yml b/kubernetes/05-upload.yml
index 44b281c0a..7631d405f 100644
--- a/kubernetes/05-upload.yml
+++ b/kubernetes/05-upload.yml
@@ -34,7 +34,7 @@ spec:
     spec:
       containers:
       - name: upload-container
-        image: ghcr.io/idaholab/malcolm/file-upload:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/file-upload:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -73,7 +73,7 @@ spec:
             subPath: "upload"
       initContainers:
       - name: upload-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/06-pcap-monitor.yml b/kubernetes/06-pcap-monitor.yml
index fb7a356c5..70da6fc02 100644
--- a/kubernetes/06-pcap-monitor.yml
+++ b/kubernetes/06-pcap-monitor.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: pcap-monitor-container
-        image: ghcr.io/idaholab/malcolm/pcap-monitor:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/pcap-monitor:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -70,7 +70,7 @@ spec:
             name: pcap-monitor-zeek-volume
       initContainers:
       - name: pcap-monitor-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/07-arkime.yml b/kubernetes/07-arkime.yml
index 70cdf1e56..e050e6036 100644
--- a/kubernetes/07-arkime.yml
+++ b/kubernetes/07-arkime.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: arkime-container
-        image: ghcr.io/idaholab/malcolm/arkime:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/arkime:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -79,7 +79,7 @@ spec:
             name: arkime-pcap-volume
       initContainers:
       - name: arkime-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/08-api.yml b/kubernetes/08-api.yml
index 34b6a62a3..dff8c4274 100644
--- a/kubernetes/08-api.yml
+++ b/kubernetes/08-api.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: api-container
-        image: ghcr.io/idaholab/malcolm/api:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/api:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/09-dashboards-helper.yml b/kubernetes/09-dashboards-helper.yml
index 35ecffa08..3c1292517 100644
--- a/kubernetes/09-dashboards-helper.yml
+++ b/kubernetes/09-dashboards-helper.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: dashboards-helper-container
-        image: ghcr.io/idaholab/malcolm/dashboards-helper:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dashboards-helper:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/10-zeek.yml b/kubernetes/10-zeek.yml
index 60041dd52..daa925943 100644
--- a/kubernetes/10-zeek.yml
+++ b/kubernetes/10-zeek.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: zeek-offline-container
-        image: ghcr.io/idaholab/malcolm/zeek:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/zeek:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -64,7 +64,7 @@ spec:
             subPath: "zeek/intel"
       initContainers:
       - name: zeek-offline-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/11-suricata.yml b/kubernetes/11-suricata.yml
index 41c126f2e..5bdf9472f 100644
--- a/kubernetes/11-suricata.yml
+++ b/kubernetes/11-suricata.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: suricata-offline-container
-        image: ghcr.io/idaholab/malcolm/suricata:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/suricata:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -55,7 +55,7 @@ spec:
             name: suricata-offline-custom-configs-volume
       initContainers:
       - name: suricata-offline-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/12-file-monitor.yml b/kubernetes/12-file-monitor.yml
index 8f8140a47..9cf768a47 100644
--- a/kubernetes/12-file-monitor.yml
+++ b/kubernetes/12-file-monitor.yml
@@ -33,7 +33,7 @@ spec:
     spec:
       containers:
       - name: file-monitor-container
-        image: ghcr.io/idaholab/malcolm/file-monitor:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/file-monitor:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -81,7 +81,7 @@ spec:
             name: file-monitor-yara-rules-custom-volume
       initContainers:
       - name: file-monitor-live-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/13-filebeat.yml b/kubernetes/13-filebeat.yml
index 9681fbb7b..da45a94d1 100644
--- a/kubernetes/13-filebeat.yml
+++ b/kubernetes/13-filebeat.yml
@@ -33,7 +33,7 @@ spec:
     spec:
       containers:
       - name: filebeat-container
-        image: ghcr.io/idaholab/malcolm/filebeat-oss:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/filebeat-oss:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -83,7 +83,7 @@ spec:
             subPath: "nginx"
       initContainers:
       - name: filebeat-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/14-logstash.yml b/kubernetes/14-logstash.yml
index 6f6ee2b2a..0cb84994b 100644
--- a/kubernetes/14-logstash.yml
+++ b/kubernetes/14-logstash.yml
@@ -49,7 +49,7 @@ spec:
       #       topologyKey: "kubernetes.io/hostname"
       containers:
       - name: logstash-container
-        image: ghcr.io/idaholab/malcolm/logstash-oss:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/logstash-oss:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -115,7 +115,7 @@ spec:
             subPath: "logstash"
       initContainers:
       - name: logstash-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/15-netbox-redis.yml b/kubernetes/15-netbox-redis.yml
index 6062e0098..922f54f1d 100644
--- a/kubernetes/15-netbox-redis.yml
+++ b/kubernetes/15-netbox-redis.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: netbox-redis-container
-        image: ghcr.io/idaholab/malcolm/redis:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/redis:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -83,7 +83,7 @@ spec:
             subPath: netbox/redis
       initContainers:
       - name: netbox-redis-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/16-netbox-redis-cache.yml b/kubernetes/16-netbox-redis-cache.yml
index 091e49ada..0fef1bbf0 100644
--- a/kubernetes/16-netbox-redis-cache.yml
+++ b/kubernetes/16-netbox-redis-cache.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: netbox-redis-cache-container
-        image: ghcr.io/idaholab/malcolm/redis:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/redis:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/17-netbox-postgres.yml b/kubernetes/17-netbox-postgres.yml
index 2d04687ba..55a066358 100644
--- a/kubernetes/17-netbox-postgres.yml
+++ b/kubernetes/17-netbox-postgres.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: netbox-postgres-container
-        image: ghcr.io/idaholab/malcolm/postgresql:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/postgresql:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -74,7 +74,7 @@ spec:
             subPath: netbox/postgres
       initContainers:
       - name: netbox-postgres-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/18-netbox.yml b/kubernetes/18-netbox.yml
index 83f9db69b..f81438018 100644
--- a/kubernetes/18-netbox.yml
+++ b/kubernetes/18-netbox.yml
@@ -36,7 +36,7 @@ spec:
     spec:
       containers:
       - name: netbox-container
-        image: ghcr.io/idaholab/malcolm/netbox:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/netbox:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -88,7 +88,7 @@ spec:
             subPath: netbox/media
       initContainers:
       - name: netbox-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/19-htadmin.yml b/kubernetes/19-htadmin.yml
index c4a9b3ebb..de5293761 100644
--- a/kubernetes/19-htadmin.yml
+++ b/kubernetes/19-htadmin.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: htadmin-container
-        image: ghcr.io/idaholab/malcolm/htadmin:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/htadmin:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -63,7 +63,7 @@ spec:
             subPath: "htadmin"
       initContainers:
       - name: htadmin-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/20-pcap-capture.yml b/kubernetes/20-pcap-capture.yml
index 66014d9c8..2e0f46fca 100644
--- a/kubernetes/20-pcap-capture.yml
+++ b/kubernetes/20-pcap-capture.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: pcap-capture-container
-        image: ghcr.io/idaholab/malcolm/pcap-capture:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/pcap-capture:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -50,7 +50,7 @@ spec:
             subPath: "upload"
       initContainers:
       - name: pcap-capture-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/21-zeek-live.yml b/kubernetes/21-zeek-live.yml
index c63a9acb8..2575cfdc3 100644
--- a/kubernetes/21-zeek-live.yml
+++ b/kubernetes/21-zeek-live.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: zeek-live-container
-        image: ghcr.io/idaholab/malcolm/zeek:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/zeek:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -61,7 +61,7 @@ spec:
             subPath: "zeek/intel"
       initContainers:
       - name: zeek-live-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/22-suricata-live.yml b/kubernetes/22-suricata-live.yml
index 1b373130f..3fbca4d03 100644
--- a/kubernetes/22-suricata-live.yml
+++ b/kubernetes/22-suricata-live.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: suricata-live-container
-        image: ghcr.io/idaholab/malcolm/suricata:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/suricata:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -56,7 +56,7 @@ spec:
             name: suricata-live-custom-configs-volume
       initContainers:
       - name: suricata-live-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/23-arkime-live.yml b/kubernetes/23-arkime-live.yml
index 41f508378..79b4bc4d3 100644
--- a/kubernetes/23-arkime-live.yml
+++ b/kubernetes/23-arkime-live.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: arkime-live-container
-        image: ghcr.io/idaholab/malcolm/arkime:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/arkime:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -62,7 +62,7 @@ spec:
             name: arkime-live-pcap-volume
       initContainers:
       - name: arkime-live-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/24-freq.yml b/kubernetes/24-freq.yml
index 32e834237..b9dc580df 100644
--- a/kubernetes/24-freq.yml
+++ b/kubernetes/24-freq.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: freq-container
-        image: ghcr.io/idaholab/malcolm/freq:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/freq:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/98-nginx-proxy.yml b/kubernetes/98-nginx-proxy.yml
index c8e208b56..94e7861e2 100644
--- a/kubernetes/98-nginx-proxy.yml
+++ b/kubernetes/98-nginx-proxy.yml
@@ -39,7 +39,7 @@ spec:
     spec:
       containers:
       - name: nginx-proxy-container
-        image: ghcr.io/idaholab/malcolm/nginx-proxy:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/nginx-proxy:development
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -95,7 +95,7 @@ spec:
           subPath: "nginx"
       initContainers:
       - name: nginx-dirinit-container
-        image: ghcr.io/idaholab/malcolm/dirinit:23.12.1
+        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/scripts/third-party-environments/aws/ami/packer_vars.json.example b/scripts/third-party-environments/aws/ami/packer_vars.json.example
index f6a3d87fd..b95ebc41b 100644
--- a/scripts/third-party-environments/aws/ami/packer_vars.json.example
+++ b/scripts/third-party-environments/aws/ami/packer_vars.json.example
@@ -2,7 +2,7 @@
   "aws_access_key": "XXXXXXXXXXXXXXXXXXXX",
   "aws_secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
   "instance_type": "t2.micro",
-  "malcolm_tag": "v23.12.1",
+  "malcolm_tag": "v24.01.0",
   "malcolm_repo": "idaholab/Malcolm",
   "malcolm_uid": "1000",
   "ssh_username": "ec2-user",

From 7bb5c1d83a5dbea7a528e3945eeda4b18fd221df Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Thu, 21 Dec 2023 13:36:01 -0700
Subject: [PATCH 02/88] for idaholab/Malcolm#288, file carve download with
 password-protected zip file

---
 Dockerfiles/file-monitor.Dockerfile      | 15 ++++-
 config/zeek-secret.env.example           |  6 +-
 config/zeek.env.example                  |  2 +
 docs/file-scanning.md                    |  2 +-
 docs/kubernetes.md                       |  4 +-
 docs/malcolm-config.md                   |  5 +-
 docs/malcolm-hedgehog-e2e-iso-install.md |  6 +-
 docs/ubuntu-install-example.md           |  4 +-
 file-monitor/supervisord.conf            |  1 +
 scripts/install.py                       | 30 ++++++++-
 shared/bin/zeek_carved_http_server.py    | 85 ++++++++++++++++++++----
 11 files changed, 134 insertions(+), 26 deletions(-)

diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile
index 6ed4d539e..39b6bed8c 100644
--- a/Dockerfiles/file-monitor.Dockerfile
+++ b/Dockerfiles/file-monitor.Dockerfile
@@ -50,7 +50,8 @@ ARG EXTRACTED_FILE_CAPA_VERBOSE=false
 ARG EXTRACTED_FILE_HTTP_SERVER_DEBUG=false
 ARG EXTRACTED_FILE_HTTP_SERVER_ENABLE=false
 ARG EXTRACTED_FILE_HTTP_SERVER_ENCRYPT=false
-ARG EXTRACTED_FILE_HTTP_SERVER_KEY=quarantined
+ARG EXTRACTED_FILE_HTTP_SERVER_ZIP=false
+ARG EXTRACTED_FILE_HTTP_SERVER_KEY=infected
 ARG EXTRACTED_FILE_HTTP_SERVER_PORT=8440
 
 ENV ZEEK_EXTRACTOR_PATH $ZEEK_EXTRACTOR_PATH
@@ -90,6 +91,7 @@ ENV CAPA_BIN "${CAPA_DIR}/capa"
 ENV EXTRACTED_FILE_HTTP_SERVER_DEBUG $EXTRACTED_FILE_HTTP_SERVER_DEBUG
 ENV EXTRACTED_FILE_HTTP_SERVER_ENABLE $EXTRACTED_FILE_HTTP_SERVER_ENABLE
 ENV EXTRACTED_FILE_HTTP_SERVER_ENCRYPT $EXTRACTED_FILE_HTTP_SERVER_ENCRYPT
+ENV EXTRACTED_FILE_HTTP_SERVER_ZIP $EXTRACTED_FILE_HTTP_SERVER_ZIP
 ENV EXTRACTED_FILE_HTTP_SERVER_KEY $EXTRACTED_FILE_HTTP_SERVER_KEY
 ENV EXTRACTED_FILE_HTTP_SERVER_PORT $EXTRACTED_FILE_HTTP_SERVER_PORT
 
@@ -137,7 +139,16 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour
       python3-requests \
       python3-zmq \
       rsync && \
-    python3 -m pip install --break-system-packages --no-compile --no-cache-dir clamd supervisor yara-python python-magic psutil pycryptodome watchdog && \
+    python3 -m pip install --break-system-packages --no-compile --no-cache-dir \
+      clamd \
+      psutil \
+      pycryptodome \
+      pyminizip \
+      python-magic \
+      stream-zip \
+      supervisor \
+      watchdog \
+      yara-python && \
     curl -fsSLO "$SUPERCRONIC_URL" && \
       echo "${SUPERCRONIC_SHA1SUM}  ${SUPERCRONIC}" | sha1sum -c - && \
       chmod +x "$SUPERCRONIC" && \
diff --git a/config/zeek-secret.env.example b/config/zeek-secret.env.example
index 8ce2739c6..ad56a4987 100644
--- a/config/zeek-secret.env.example
+++ b/config/zeek-secret.env.example
@@ -1,5 +1,7 @@
 # A VirusTotal Public API v.20 used to submit hashes of Zeek-extracted files
 VTOT_API2_KEY=0
-# Specifies the AES-256-CBC decryption password for encrypted Zeek-extracted files served over HTTP
-EXTRACTED_FILE_HTTP_SERVER_KEY=quarantined
+# Specifies the password for encrypted Zeek-extracted files served over HTTP
+#   If EXTRACTED_FILE_HTTP_SERVER_ZIP is true this is the password for the Zip file,
+#   otherwise it is the AES-256-CBC decryption password
+EXTRACTED_FILE_HTTP_SERVER_KEY=infected
 K8S_SECRET=True
\ No newline at end of file
diff --git a/config/zeek.env.example b/config/zeek.env.example
index 7e0e64249..a70fab119 100644
--- a/config/zeek.env.example
+++ b/config/zeek.env.example
@@ -49,6 +49,8 @@ EXTRACTED_FILE_UPDATE_RULES=false
 EXTRACTED_FILE_PIPELINE_VERBOSITY=
 # Whether or not to serve the directory containing Zeek-extracted over HTTP at ./extracted-files/
 EXTRACTED_FILE_HTTP_SERVER_ENABLE=false
+# Whether or not Zeek-extracted files served over HTTP will be archived in a Zip file
+EXTRACTED_FILE_HTTP_SERVER_ZIP=false
 # Whether or not Zeek-extracted files served over HTTP will be AES-256-CBC-encrypted
 EXTRACTED_FILE_HTTP_SERVER_ENCRYPT=true
 # Environment variables for tweaking Zeek at runtime (see local.zeek)
diff --git a/docs/file-scanning.md b/docs/file-scanning.md
index e7c3908c5..f373c7862 100644
--- a/docs/file-scanning.md
+++ b/docs/file-scanning.md
@@ -25,4 +25,4 @@ The `EXTRACTED_FILE_PRESERVATION` [environment variable in `zeek.env`](malcolm-c
 * `all`: preserve flagged files in `./zeek-logs/extract_files/quarantine` and all other extracted files in `./zeek-logs/extract_files/preserved`
 * `none`: preserve no extracted files
 
-The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally encrypted upon download (and decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`)
+The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download.
diff --git a/docs/kubernetes.md b/docs/kubernetes.md
index 2c232ba4a..38e14b911 100644
--- a/docs/kubernetes.md
+++ b/docs/kubernetes.md
@@ -410,7 +410,9 @@ Select file preservation behavior (quarantined): 1
 
 Expose web interface for downloading preserved files? (y / N): y
 
-Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted): quarantined
+ZIP downloaded preserved files? (y / N): y
+
+Enter ZIP archive password for downloaded preserved files (or leave blank for unprotected): infected
 
 Scan extracted files with ClamAV? (Y / n): y
 
diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md
index 94ee44959..6f4df8ee4 100644
--- a/docs/malcolm-config.md
+++ b/docs/malcolm-config.md
@@ -81,8 +81,9 @@ Although the configuration script automates many of the following configuration
     - `EXTRACTED_FILE_ENABLE_CLAMAV` – if set to `true`, [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be scanned with [ClamAV](https://www.clamav.net/)
     - `EXTRACTED_FILE_ENABLE_YARA` – if set to `true`, [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be scanned with [Yara](https://github.com/VirusTotal/yara)
     - `EXTRACTED_FILE_HTTP_SERVER_ENABLE` – if set to `true`, the directory containing [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be served over HTTP at `./extracted-files/` (e.g., **https://localhost/extracted-files/** if connecting locally)
-    - `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` – if to `true`, the Zeek-extracted files will be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`)
-    - `EXTRACTED_FILE_HTTP_SERVER_KEY` – specifies the AES-256-CBC decryption password for encrypted Zeek-extracted files; used in conjunction with `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT`
+    - `EXTRACTED_FILE_HTTP_SERVER_ZIP` – if to `true`, the Zeek-extracted files will be archived in a ZIP file upon download
+    - `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` – if to `true`, the Zeek-extracted files will be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download
+    - `EXTRACTED_FILE_HTTP_SERVER_KEY` – specifies the password for the ZIP archive if `EXTRACTED_FILE_HTTP_SERVER_ZIP` is `true`; otherwise, this specifies the AES-256-CBC decryption password for encrypted Zeek-extracted files if `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` is `true`
     - `EXTRACTED_FILE_IGNORE_EXISTING` – if set to `true`, files extant in `./zeek-logs/extract_files/`  directory will be ignored on startup rather than scanned
     - `EXTRACTED_FILE_PRESERVATION` – determines behavior for preservation of [Zeek-extracted files](file-scanning.md#ZeekFileExtraction)
     - `EXTRACTED_FILE_UPDATE_RULES` – if set to `true`, file scanner engines (e.g., ClamAV, Capa, Yara) will periodically update their rule definitions (default `false`)
diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md
index cc756826a..61c6822bb 100644
--- a/docs/malcolm-hedgehog-e2e-iso-install.md
+++ b/docs/malcolm-hedgehog-e2e-iso-install.md
@@ -235,8 +235,10 @@ The [configuration and tuning](malcolm-config.md#ConfigAndTuning) wizard's quest
         + `none`: preserve no extracted files
 * **Expose web interface for downloading preserved files?**
     - Answering **Y** enables access to the Zeek-extracted files path through the means of a simple HTTPS directory server at **https://<Malcolm host or IP address>/extracted-files/**. Beware that Zeek-extracted files may contain malware.
-* **Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted)**
-    - If a password is specified here, Zeek-extracted files downloaded as described under the previous question will be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`).
+* **ZIP downloaded preserved files?**
+    - Answering **Y** will cause that Zeek-extracted files downloaded as described under the previous question will be archived using the ZIP file format.
+* **Enter ZIP archive password for downloaded preserved files (or leave blank for unprotected)** and **Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted)**
+    - A non-blank value will be used as either the ZIP archive file password (if the previous question was answered **Y**) or as the encryption key for the file to be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`).
 * **Scan extracted files with ClamAV?**
     - Answer **Y** to scan extracted files with [ClamAV](https://www.clamav.net/), an antivirus engine.
 * **Scan extracted files with Yara?**
diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md
index 4e2d0c652..c7fe7ea91 100644
--- a/docs/ubuntu-install-example.md
+++ b/docs/ubuntu-install-example.md
@@ -169,7 +169,9 @@ Select file preservation behavior (quarantined): 1
 
 Expose web interface for downloading preserved files? (y / N): y
 
-Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted): decryptme
+ZIP downloaded preserved files? (y / N): y
+
+Enter ZIP archive password for downloaded preserved files (or leave blank for unprotected): infected
 
 Scan extracted files with ClamAV? (y / N): y
 
diff --git a/file-monitor/supervisord.conf b/file-monitor/supervisord.conf
index 78cf4d79b..979612f2b 100644
--- a/file-monitor/supervisord.conf
+++ b/file-monitor/supervisord.conf
@@ -152,6 +152,7 @@ redirect_stderr=true
 [program:fileserve]
 command=/usr/local/bin/zeek_carved_http_server.py
   --port %(ENV_EXTRACTED_FILE_HTTP_SERVER_PORT)s
+  --zip %(ENV_EXTRACTED_FILE_HTTP_SERVER_ZIP)s
   --encrypt %(ENV_EXTRACTED_FILE_HTTP_SERVER_ENCRYPT)s
   --directory /zeek/extract_files
 autostart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s
diff --git a/scripts/install.py b/scripts/install.py
index 0b341bcae..d7cda08cf 100755
--- a/scripts/install.py
+++ b/scripts/install.py
@@ -1197,6 +1197,7 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
         clamAvScan = False
         fileScanRuleUpdate = False
         fileCarveHttpServer = False
+        fileCarveHttpServerZip = False
         fileCarveHttpServeEncryptKey = ''
 
         if InstallerYesOrNo('Enable file extraction with Zeek?', default=bool(fileCarveModeDefault)):
@@ -1229,8 +1230,13 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
                     'Expose web interface for downloading preserved files?', default=args.fileCarveHttpServer
                 )
                 if fileCarveHttpServer:
+                    fileCarveHttpServerZip = InstallerYesOrNo(
+                        'ZIP downloaded preserved files?', default=args.fileCarveHttpServerZip
+                    )
                     fileCarveHttpServeEncryptKey = InstallerAskForString(
-                        'Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted)',
+                        'Enter ZIP archive password for downloaded preserved files (or leave blank for unprotected)'
+                        if fileCarveHttpServerZip
+                        else 'Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted)',
                         default=args.fileCarveHttpServeEncryptKey,
                     )
                 if fileCarveMode is not None:
@@ -1774,11 +1780,19 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
                 'EXTRACTED_FILE_HTTP_SERVER_ENABLE',
                 TrueOrFalseNoQuote(fileCarveHttpServer),
             ),
+            # ZIP HTTP server for extracted files
+            EnvValue(
+                os.path.join(args.configDir, 'zeek.env'),
+                'EXTRACTED_FILE_HTTP_SERVER_ZIP',
+                TrueOrFalseNoQuote(fileCarveHttpServerZip),
+            ),
             # encrypt HTTP server for extracted files
             EnvValue(
                 os.path.join(args.configDir, 'zeek.env'),
                 'EXTRACTED_FILE_HTTP_SERVER_ENCRYPT',
-                TrueOrFalseNoQuote(fileCarveHttpServer and (len(fileCarveHttpServeEncryptKey) > 0)),
+                TrueOrFalseNoQuote(
+                    fileCarveHttpServer and (len(fileCarveHttpServeEncryptKey) > 0) and (not fileCarveHttpServerZip)
+                ),
             ),
             # key for encrypted HTTP-served extracted files (' -> '' for escaping in YAML)
             EnvValue(
@@ -3703,6 +3717,16 @@ def main():
         default=False,
         help='Expose web interface for downloading preserved files',
     )
+    fileCarveArgGroup.add_argument(
+        '--extracted-file-server-zip',
+        dest='fileCarveHttpServerZip',
+        type=str2bool,
+        metavar="true|false",
+        nargs='?',
+        const=True,
+        default=False,
+        help='ZIP downloaded preserved files',
+    )
     fileCarveArgGroup.add_argument(
         '--extracted-file-server-password',
         dest='fileCarveHttpServeEncryptKey',
@@ -3710,7 +3734,7 @@ def main():
         metavar='<string>',
         type=str,
         default='',
-        help='AES-256-CBC encryption password for downloaded preserved files (blank for unencrypted)',
+        help='ZIP archive or AES-256-CBC encryption password for downloaded preserved files (blank for unencrypted)',
     )
     fileCarveArgGroup.add_argument(
         '--extracted-file-clamav',
diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/zeek_carved_http_server.py
index 8b385c9de..2c0707a09 100755
--- a/shared/bin/zeek_carved_http_server.py
+++ b/shared/bin/zeek_carved_http_server.py
@@ -9,14 +9,26 @@
 import argparse
 import hashlib
 import os
+import pyminizip
 import sys
-from threading import Thread
-from socketserver import ThreadingMixIn
-from http.server import HTTPServer, SimpleHTTPRequestHandler
 from Crypto.Cipher import AES
+from datetime import datetime
+from http.server import HTTPServer, SimpleHTTPRequestHandler
+from socketserver import ThreadingMixIn
+from stat import S_IFREG
+from stream_zip import ZIP_32, stream_zip
+from threading import Thread
 
 
-from malcolm_utils import str2bool, eprint, EVP_KEY_SIZE, PKCS5_SALT_LEN, OPENSSL_ENC_MAGIC, EVP_BytesToKey
+from malcolm_utils import (
+    str2bool,
+    eprint,
+    temporary_filename,
+    EVP_KEY_SIZE,
+    PKCS5_SALT_LEN,
+    OPENSSL_ENC_MAGIC,
+    EVP_BytesToKey,
+)
 
 ###################################################################################################
 args = None
@@ -26,6 +38,19 @@
 orig_path = os.getcwd()
 
 
+###################################################################################################
+#
+def LocalFilesForZip(names):
+    now = datetime.now()
+
+    def contents(name):
+        with open(name, 'rb') as f:
+            while chunk := f.read(65536):
+                yield chunk
+
+    return ((os.path.join('.', os.path.basename(name)), now, S_IFREG | 0o600, ZIP_32, contents(name)) for name in names)
+
+
 ###################################################################################################
 #
 class HTTPHandler(SimpleHTTPRequestHandler):
@@ -43,13 +68,33 @@ def do_GET(self):
 
         fullpath = self.translate_path(self.path)
 
-        if (not args.encrypt) or os.path.isdir(fullpath):
-            # unencrypted, just use default implementation
+        if os.path.isdir(fullpath):
+            # directory listing
             SimpleHTTPRequestHandler.do_GET(self)
 
-        else:
-            # encrypt file transfers
-            if os.path.isfile(fullpath) or os.path.islink(fullpath):
+        elif os.path.isfile(fullpath) or os.path.islink(fullpath):
+            if args.zip:
+                # ZIP file
+                self.send_response(200)
+                self.send_header('Content-type', "application/zip")
+                self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.zip')
+                self.end_headers()
+
+                if args.encrypt:
+                    # password-protected ZIP file (temporarily persisted to disk)
+                    with temporary_filename(suffix='.zip') as tmpFileName:
+                        pyminizip.compress(fullpath, None, tmpFileName, args.key, 1)
+                        with open(tmpFileName, 'rb') as f:
+                            while chunk := f.read(65536):
+                                self.wfile.write(chunk)
+
+                else:
+                    # encrypted ZIP file (streamed)
+                    for chunk in stream_zip(LocalFilesForZip([fullpath])):
+                        self.wfile.write(chunk)
+
+            elif args.encrypt:
+                # encrypted file
                 self.send_response(200)
                 self.send_header('Content-type', 'application/octet-stream')
                 self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.encrypted')
@@ -73,7 +118,11 @@ def do_GET(self):
                             break
 
             else:
-                self.send_error(404, "Not Found")
+                # unencrypted file
+                SimpleHTTPRequestHandler.do_GET(self)
+
+        else:
+            self.send_error(404, "Not Found")
 
 
 ###################################################################################################
@@ -101,8 +150,9 @@ def main():
 
     defaultDebug = os.getenv('EXTRACTED_FILE_HTTP_SERVER_DEBUG', 'false')
     defaultEncrypt = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ENCRYPT', 'false')
+    defaultZip = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ZIP', 'false')
     defaultPort = int(os.getenv('EXTRACTED_FILE_HTTP_SERVER_PORT', 8440))
-    defaultKey = os.getenv('EXTRACTED_FILE_HTTP_SERVER_KEY', 'quarantined')
+    defaultKey = os.getenv('EXTRACTED_FILE_HTTP_SERVER_KEY', 'infected')
     defaultDir = os.getenv('EXTRACTED_FILE_HTTP_SERVER_PATH', orig_path)
 
     parser = argparse.ArgumentParser(
@@ -146,7 +196,7 @@ def main():
         const=True,
         default=defaultEncrypt,
         metavar='true|false',
-        help=f"Encrypt files with aes-256-cbc ({defaultEncrypt})",
+        help=f"Encrypt files (with -z/--zip, or with aes-256-cbc) ({defaultEncrypt})",
     )
     parser.add_argument(
         '-k',
@@ -157,6 +207,17 @@ def main():
         type=str,
         default=defaultKey,
     )
+    parser.add_argument(
+        '-z',
+        '--zip',
+        dest='zip',
+        type=str2bool,
+        nargs='?',
+        const=True,
+        default=defaultZip,
+        metavar='true|false',
+        help=f"Zip file ({defaultZip})",
+    )
     try:
         parser.error = parser.exit
         args = parser.parse_args()

From 34aeea01ca7498eb3602968b59aa29fc3ae339bc Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Thu, 21 Dec 2023 15:41:14 -0700
Subject: [PATCH 03/88] for idaholab/Malcolm#288, file carve download with
 password-protected zip file

---
 shared/bin/zeek_carved_http_server.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/zeek_carved_http_server.py
index 2c0707a09..e1373c294 100755
--- a/shared/bin/zeek_carved_http_server.py
+++ b/shared/bin/zeek_carved_http_server.py
@@ -80,7 +80,7 @@ def do_GET(self):
                 self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.zip')
                 self.end_headers()
 
-                if args.encrypt:
+                if args.key:
                     # password-protected ZIP file (temporarily persisted to disk)
                     with temporary_filename(suffix='.zip') as tmpFileName:
                         pyminizip.compress(fullpath, None, tmpFileName, args.key, 1)

From 46672911f3b5457d8716631cdf49bea8a35d1bf2 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Thu, 21 Dec 2023 15:53:44 -0700
Subject: [PATCH 04/88] simplified by removing
 EXTRACTED_FILE_HTTP_SERVER_ENCRYPT variable, just base it off of whether or
 not EXTRACTED_FILE_HTTP_SERVER_KEY is set (idaholab/Malcolm#288)

---
 Dockerfiles/file-monitor.Dockerfile           |  4 +---
 config/zeek.env.example                       |  2 --
 docs/malcolm-config.md                        |  3 +--
 file-monitor/supervisord.conf                 |  1 -
 .../demo/amazon_linux_2_malcolm_demo_setup.sh |  1 -
 scripts/install.py                            |  8 -------
 shared/bin/zeek_carved_http_server.py         | 23 +++++--------------
 7 files changed, 8 insertions(+), 34 deletions(-)

diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile
index 39b6bed8c..088db2906 100644
--- a/Dockerfiles/file-monitor.Dockerfile
+++ b/Dockerfiles/file-monitor.Dockerfile
@@ -49,8 +49,7 @@ ARG EXTRACTED_FILE_ENABLE_CAPA=false
 ARG EXTRACTED_FILE_CAPA_VERBOSE=false
 ARG EXTRACTED_FILE_HTTP_SERVER_DEBUG=false
 ARG EXTRACTED_FILE_HTTP_SERVER_ENABLE=false
-ARG EXTRACTED_FILE_HTTP_SERVER_ENCRYPT=false
-ARG EXTRACTED_FILE_HTTP_SERVER_ZIP=false
+ARG EXTRACTED_FILE_HTTP_SERVER_ZIP=true
 ARG EXTRACTED_FILE_HTTP_SERVER_KEY=infected
 ARG EXTRACTED_FILE_HTTP_SERVER_PORT=8440
 
@@ -90,7 +89,6 @@ ENV CAPA_DIR "/opt/capa"
 ENV CAPA_BIN "${CAPA_DIR}/capa"
 ENV EXTRACTED_FILE_HTTP_SERVER_DEBUG $EXTRACTED_FILE_HTTP_SERVER_DEBUG
 ENV EXTRACTED_FILE_HTTP_SERVER_ENABLE $EXTRACTED_FILE_HTTP_SERVER_ENABLE
-ENV EXTRACTED_FILE_HTTP_SERVER_ENCRYPT $EXTRACTED_FILE_HTTP_SERVER_ENCRYPT
 ENV EXTRACTED_FILE_HTTP_SERVER_ZIP $EXTRACTED_FILE_HTTP_SERVER_ZIP
 ENV EXTRACTED_FILE_HTTP_SERVER_KEY $EXTRACTED_FILE_HTTP_SERVER_KEY
 ENV EXTRACTED_FILE_HTTP_SERVER_PORT $EXTRACTED_FILE_HTTP_SERVER_PORT
diff --git a/config/zeek.env.example b/config/zeek.env.example
index a70fab119..142445c9f 100644
--- a/config/zeek.env.example
+++ b/config/zeek.env.example
@@ -51,8 +51,6 @@ EXTRACTED_FILE_PIPELINE_VERBOSITY=
 EXTRACTED_FILE_HTTP_SERVER_ENABLE=false
 # Whether or not Zeek-extracted files served over HTTP will be archived in a Zip file
 EXTRACTED_FILE_HTTP_SERVER_ZIP=false
-# Whether or not Zeek-extracted files served over HTTP will be AES-256-CBC-encrypted
-EXTRACTED_FILE_HTTP_SERVER_ENCRYPT=true
 # Environment variables for tweaking Zeek at runtime (see local.zeek)
 #   Set to any non-blank value to disable the corresponding feature
 ZEEK_DISABLE_HASH_ALL_FILES=
diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md
index 6f4df8ee4..4e7c8eed6 100644
--- a/docs/malcolm-config.md
+++ b/docs/malcolm-config.md
@@ -82,8 +82,7 @@ Although the configuration script automates many of the following configuration
     - `EXTRACTED_FILE_ENABLE_YARA` – if set to `true`, [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be scanned with [Yara](https://github.com/VirusTotal/yara)
     - `EXTRACTED_FILE_HTTP_SERVER_ENABLE` – if set to `true`, the directory containing [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be served over HTTP at `./extracted-files/` (e.g., **https://localhost/extracted-files/** if connecting locally)
     - `EXTRACTED_FILE_HTTP_SERVER_ZIP` – if to `true`, the Zeek-extracted files will be archived in a ZIP file upon download
-    - `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` – if to `true`, the Zeek-extracted files will be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download
-    - `EXTRACTED_FILE_HTTP_SERVER_KEY` – specifies the password for the ZIP archive if `EXTRACTED_FILE_HTTP_SERVER_ZIP` is `true`; otherwise, this specifies the AES-256-CBC decryption password for encrypted Zeek-extracted files if `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` is `true`
+    - `EXTRACTED_FILE_HTTP_SERVER_KEY` – specifies the password for the ZIP archive if `EXTRACTED_FILE_HTTP_SERVER_ZIP` is `true`; otherwise, this specifies the decryption password for encrypted Zeek-extracted files in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`)
     - `EXTRACTED_FILE_IGNORE_EXISTING` – if set to `true`, files extant in `./zeek-logs/extract_files/`  directory will be ignored on startup rather than scanned
     - `EXTRACTED_FILE_PRESERVATION` – determines behavior for preservation of [Zeek-extracted files](file-scanning.md#ZeekFileExtraction)
     - `EXTRACTED_FILE_UPDATE_RULES` – if set to `true`, file scanner engines (e.g., ClamAV, Capa, Yara) will periodically update their rule definitions (default `false`)
diff --git a/file-monitor/supervisord.conf b/file-monitor/supervisord.conf
index 979612f2b..81eb7383f 100644
--- a/file-monitor/supervisord.conf
+++ b/file-monitor/supervisord.conf
@@ -153,7 +153,6 @@ redirect_stderr=true
 command=/usr/local/bin/zeek_carved_http_server.py
   --port %(ENV_EXTRACTED_FILE_HTTP_SERVER_PORT)s
   --zip %(ENV_EXTRACTED_FILE_HTTP_SERVER_ZIP)s
-  --encrypt %(ENV_EXTRACTED_FILE_HTTP_SERVER_ENCRYPT)s
   --directory /zeek/extract_files
 autostart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s
 autorestart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s
diff --git a/scripts/demo/amazon_linux_2_malcolm_demo_setup.sh b/scripts/demo/amazon_linux_2_malcolm_demo_setup.sh
index 41dd9bd90..8a6be38d2 100755
--- a/scripts/demo/amazon_linux_2_malcolm_demo_setup.sh
+++ b/scripts/demo/amazon_linux_2_malcolm_demo_setup.sh
@@ -553,7 +553,6 @@ function InstallMalcolm {
         "EXTRACTED_FILE_ENABLE_CLAMAV:'true'"
         "EXTRACTED_FILE_ENABLE_YARA:'true'"
         "EXTRACTED_FILE_HTTP_SERVER_ENABLE:'true'"
-        "EXTRACTED_FILE_HTTP_SERVER_ENCRYPT:'false'"
         "EXTRACTED_FILE_IGNORE_EXISTING:'true'"
         "EXTRACTED_FILE_PRESERVATION:'all'"
         "FREQ_LOOKUP:'true'"
diff --git a/scripts/install.py b/scripts/install.py
index d7cda08cf..a3f1d09c1 100755
--- a/scripts/install.py
+++ b/scripts/install.py
@@ -1786,14 +1786,6 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
                 'EXTRACTED_FILE_HTTP_SERVER_ZIP',
                 TrueOrFalseNoQuote(fileCarveHttpServerZip),
             ),
-            # encrypt HTTP server for extracted files
-            EnvValue(
-                os.path.join(args.configDir, 'zeek.env'),
-                'EXTRACTED_FILE_HTTP_SERVER_ENCRYPT',
-                TrueOrFalseNoQuote(
-                    fileCarveHttpServer and (len(fileCarveHttpServeEncryptKey) > 0) and (not fileCarveHttpServerZip)
-                ),
-            ),
             # key for encrypted HTTP-served extracted files (' -> '' for escaping in YAML)
             EnvValue(
                 os.path.join(args.configDir, 'zeek-secret.env'),
diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/zeek_carved_http_server.py
index e1373c294..d92cf89dd 100755
--- a/shared/bin/zeek_carved_http_server.py
+++ b/shared/bin/zeek_carved_http_server.py
@@ -3,7 +3,8 @@
 
 # Multithreaded simple HTTP directory server.
 #
-# The files can optionally be aes-256-cbc encrypted in a way that's compatible with:
+# The files can optionally be archived in a ZIP file, with or without a password, or
+# be aes-256-cbc encrypted in a way that's compatible with:
 #   openssl enc -aes-256-cbc -d -in encrypted.data -out decrypted.data
 
 import argparse
@@ -89,12 +90,12 @@ def do_GET(self):
                                 self.wfile.write(chunk)
 
                 else:
-                    # encrypted ZIP file (streamed)
+                    # unprotected ZIP file (streamed)
                     for chunk in stream_zip(LocalFilesForZip([fullpath])):
                         self.wfile.write(chunk)
 
-            elif args.encrypt:
-                # encrypted file
+            elif args.key:
+                # openssl-compatible encrypted file
                 self.send_response(200)
                 self.send_header('Content-type', 'application/octet-stream')
                 self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.encrypted')
@@ -149,7 +150,6 @@ def main():
     global orig_path
 
     defaultDebug = os.getenv('EXTRACTED_FILE_HTTP_SERVER_DEBUG', 'false')
-    defaultEncrypt = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ENCRYPT', 'false')
     defaultZip = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ZIP', 'false')
     defaultPort = int(os.getenv('EXTRACTED_FILE_HTTP_SERVER_PORT', 8440))
     defaultKey = os.getenv('EXTRACTED_FILE_HTTP_SERVER_KEY', 'infected')
@@ -187,22 +187,11 @@ def main():
         type=str,
         default=defaultDir,
     )
-    parser.add_argument(
-        '-e',
-        '--encrypt',
-        dest='encrypt',
-        type=str2bool,
-        nargs='?',
-        const=True,
-        default=defaultEncrypt,
-        metavar='true|false',
-        help=f"Encrypt files (with -z/--zip, or with aes-256-cbc) ({defaultEncrypt})",
-    )
     parser.add_argument(
         '-k',
         '--key',
         dest='key',
-        help="File encryption key",
+        help="File encryption key (for ZIP file if -z/--zip, otherwise openssl-compatible encryption",
         metavar='<str>',
         type=str,
         default=defaultKey,

From 575bc3895bbc59e0f28d1106f89ebf14c895d7dd Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Thu, 21 Dec 2023 16:02:24 -0700
Subject: [PATCH 05/88] updated documentation for carved file download
 (idaholab/Malcolm#288)

---
 docs/file-scanning.md | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/docs/file-scanning.md b/docs/file-scanning.md
index f373c7862..3e8988a3e 100644
--- a/docs/file-scanning.md
+++ b/docs/file-scanning.md
@@ -25,4 +25,21 @@ The `EXTRACTED_FILE_PRESERVATION` [environment variable in `zeek.env`](malcolm-c
 * `all`: preserve flagged files in `./zeek-logs/extract_files/quarantine` and all other extracted files in `./zeek-logs/extract_files/preserved`
 * `none`: preserve no extracted files
 
-The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download.
+The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words:
+
+* to disable the extracted files server:
+    - `EXTRACTED_FILE_HTTP_SERVER_ENABLE=false`
+* to enable the extracted file server:
+    - `EXTRACTED_FILE_HTTP_SERVER_ZIP=true`
+    - downloaded files are zipped, without a password:
+        + `EXTRACTED_FILE_HTTP_SERVER_ZIP=true`
+        + `EXTRACTED_FILE_HTTP_SERVER_KEY=`
+    - downloaded files are zipped, with a password:
+        + `EXTRACTED_FILE_HTTP_SERVER_ZIP=true`
+        + `EXTRACTED_FILE_HTTP_SERVER_KEY=xxxxxxxxxxxxx`
+    - downloaded files are OpenSSL AES-256-CBC-compatibly encrypted:
+        + `EXTRACTED_FILE_HTTP_SERVER_ZIP=false`
+        + `EXTRACTED_FILE_HTTP_SERVER_KEY=xxxxxxxxxxxxx`
+    - downloaded files are downloaded as-is, without archival or compression:
+        + `EXTRACTED_FILE_HTTP_SERVER_ZIP=false`
+        + `EXTRACTED_FILE_HTTP_SERVER_KEY=`

From d045cb24fe7899b665aab2f1837d77ad28b88039 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Thu, 21 Dec 2023 16:14:28 -0700
Subject: [PATCH 06/88] updated documentation for carved file download
 (idaholab/Malcolm#288)

---
 docs/file-scanning.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/file-scanning.md b/docs/file-scanning.md
index 3e8988a3e..a511f43a3 100644
--- a/docs/file-scanning.md
+++ b/docs/file-scanning.md
@@ -25,7 +25,7 @@ The `EXTRACTED_FILE_PRESERVATION` [environment variable in `zeek.env`](malcolm-c
 * `all`: preserve flagged files in `./zeek-logs/extract_files/quarantine` and all other extracted files in `./zeek-logs/extract_files/preserved`
 * `none`: preserve no extracted files
 
-The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words:
+The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env` and `zeek-secret.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words:
 
 * to disable the extracted files server:
     - `EXTRACTED_FILE_HTTP_SERVER_ENABLE=false`

From dfaf9a46c0beb45608f7d9ba5e565abe05ec3020 Mon Sep 17 00:00:00 2001
From: n8hacks <dunnsnathan@gmail.com>
Date: Tue, 14 Nov 2023 13:55:00 -0700
Subject: [PATCH 07/88] Add Landing Page Information

---
 Dockerfiles/nginx.Dockerfile                  |   2 +
 docker-compose-standalone.yml                 |   1 +
 docker-compose.yml                            |   1 +
 .../landingpage/assets/css/bootstrap.min.css  |   7 +
 .../Arkime_Logo_FullGradientWhite_Square.png  | Bin 0 -> 45103 bytes
 nginx/landingpage/assets/imgs/CISA.svg        |   2 +
 .../assets/imgs/Malcolm_banner.png            | Bin 0 -> 45303 bytes
 .../assets/imgs/Malcolm_banner_white.png      | Bin 0 -> 45426 bytes
 nginx/landingpage/assets/imgs/api.png         | Bin 0 -> 13065 bytes
 nginx/landingpage/assets/imgs/cyberchef.svg   | 146 ++++++++++++++++++
 .../assets/imgs/github-mark-white.svg         |   1 +
 nginx/landingpage/assets/imgs/icon.png        | Bin 0 -> 89100 bytes
 nginx/landingpage/assets/imgs/lock.png        | Bin 0 -> 6031 bytes
 nginx/landingpage/assets/imgs/markdown.png    | Bin 0 -> 14943 bytes
 nginx/landingpage/assets/imgs/netbox_icon.svg |  20 +++
 nginx/landingpage/assets/imgs/opensearch.png  | Bin 0 -> 10327 bytes
 .../assets/js/bootstrap.bundle.min.js         |   7 +
 nginx/landingpage/index.html                  | 136 ++++++++++++++++
 nginx/nginx.conf                              |   9 +-
 nginx/nginx_readonly.conf                     |  15 +-
 scripts/control.py                            |   3 +-
 21 files changed, 347 insertions(+), 3 deletions(-)
 create mode 100644 nginx/landingpage/assets/css/bootstrap.min.css
 create mode 100644 nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png
 create mode 100644 nginx/landingpage/assets/imgs/CISA.svg
 create mode 100755 nginx/landingpage/assets/imgs/Malcolm_banner.png
 create mode 100644 nginx/landingpage/assets/imgs/Malcolm_banner_white.png
 create mode 100644 nginx/landingpage/assets/imgs/api.png
 create mode 100644 nginx/landingpage/assets/imgs/cyberchef.svg
 create mode 100644 nginx/landingpage/assets/imgs/github-mark-white.svg
 create mode 100755 nginx/landingpage/assets/imgs/icon.png
 create mode 100644 nginx/landingpage/assets/imgs/lock.png
 create mode 100644 nginx/landingpage/assets/imgs/markdown.png
 create mode 100755 nginx/landingpage/assets/imgs/netbox_icon.svg
 create mode 100755 nginx/landingpage/assets/imgs/opensearch.png
 create mode 100644 nginx/landingpage/assets/js/bootstrap.bundle.min.js
 create mode 100755 nginx/landingpage/index.html

diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index 32428d198..d59b6a22f 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -221,6 +221,8 @@ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/ngi
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/
 COPY --from=docbuild /site/_site /usr/share/nginx/html/readme
 
+RUN mkdir -p /usr/share/nginx/html/landingpage
+COPY nginx/landingpage /usr/share/nginx/html/landingpage
 COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 ADD nginx/scripts /usr/local/bin/
 ADD nginx/*.conf /etc/nginx/
diff --git a/docker-compose-standalone.yml b/docker-compose-standalone.yml
index 0d670754a..9d054329c 100644
--- a/docker-compose-standalone.yml
+++ b/docker-compose-standalone.yml
@@ -720,6 +720,7 @@ services:
       - ./nginx/htpasswd:/etc/nginx/auth/htpasswd:ro
       - ./nginx/certs:/etc/nginx/certs:ro
       - ./nginx/certs/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro
+      - ./nginx/landingpage:/usr/share/nginx:ro
     healthcheck:
       test: ["CMD", "curl", "--insecure", "--silent", "https://localhost:443"]
       interval: 30s
diff --git a/docker-compose.yml b/docker-compose.yml
index b72ace183..f031a1aa8 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -800,6 +800,7 @@ services:
       - ./nginx/htpasswd:/etc/nginx/auth/htpasswd:ro
       - ./nginx/certs:/etc/nginx/certs:ro
       - ./nginx/certs/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro
+      - ./nginx/landingpage:/usr/share/nginx/:ro
     healthcheck:
       test: ["CMD", "curl", "--insecure", "--silent", "https://localhost:443"]
       interval: 30s
diff --git a/nginx/landingpage/assets/css/bootstrap.min.css b/nginx/landingpage/assets/css/bootstrap.min.css
new file mode 100644
index 000000000..edfbbb03b
--- /dev/null
+++ b/nginx/landingpage/assets/css/bootstrap.min.css
@@ -0,0 +1,7 @@
+@charset "UTF-8";/*!
+ * Bootstrap v5.0.2 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1050;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
+/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png b/nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd6f62d629549475cc4a5f57f6ee6fabe278616c
GIT binary patch
literal 45103
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%0D%}pS}
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
Q1_k+3Q`T0hRj`WuKb@+%djJ3c

literal 0
HcmV?d00001

diff --git a/nginx/landingpage/assets/imgs/CISA.svg b/nginx/landingpage/assets/imgs/CISA.svg
new file mode 100644
index 000000000..c26f681d5
--- /dev/null
+++ b/nginx/landingpage/assets/imgs/CISA.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="465.74" height="466.54" version="1.1" viewBox="0 0 465.73919 466.54269" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><defs><clipPath id="a"><path d="m72 660.3h59.6v59.701h-59.6z"/></clipPath></defs><g transform="matrix(1.3333 0 0 -1.3333 97.411 1153.7)"><g transform="matrix(6 0 0 6 -507.97 -3451.8)"><g clip-path="url(#a)"><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(5445,2745)"><path d="m0 0c0 1491-1209 2700-2700 2700s-2700-1209-2700-2700 1209-2700 2700-2700 2700 1209 2700 2700" fill="#fff"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2745,110)"><path d="m0 0c-1453 0-2635 1182-2635 2635s1182 2635 2635 2635 2635-1182 2635-2635-1182-2635-2635-2635m0 5114c-1367 0-2479-1112-2479-2479s1112-2479 2479-2479 2479 1112 2479 2479-1112 2479-2479 2479" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2893,3725)"><path d="m0 0c84-16 173-27 261-30v21c-215 10-375 69-481 126-15-15-29-31-43-46 74-27 165-52 263-71m-206 131c36 37 73 73 113 107v-71c0-38 26-69 58-69 33 0 59 31 59 69v163c18 14 36 26 55 39v-253c0-38 26-69 58-69s59 31 59 69v324c21 13 43 24 65 35v-466c-208 10-363 68-467 122m147-401 39 19 21-12-53-31zm22-82 42-33-27-21zm22-79 39 31 39-30-39-149zm84 180v-25l-21 13zm-63 12 63 31v-16l-45-26zm65-167-27 21 41 33zm-47 129 68-39-67-54-68 54zm66-11 6 3 8 4-3-13zm-44-2033-59 33-32 45c-18-8-66-29-110-45-45-17-106-36-106-36 114 1 141 1 146 1h1c5 1 34 1 160 2m1601 1341c0 991-804 1794-1795 1794-207 0-407-35-592-99 0 0 346-277 493-426-102-96-194-204-274-322-63-93-117-191-162-292l-860 859 29-350c-267-313-428-720-428-1164 0-991 803-1794 1794-1794s1795 803 1795 1794m-2694-1457 400 215-231 237 170-7-140 233h9c105 0 203 34 283 92 184-29 447-64 695-79-1-2-2-3-3-5-3-7-7-14-11-22-5-11-11-22-17-33-7-15-15-30-22-45-9-17-18-35-27-52-9-20-19-40-29-60 0 0 43-59 126-84 77-24 162-1 212 66 16 21 28 45 28 70 0 0 132-198 100-311-32-114-284-102-284-102h-84l-76-80c-20-21-48-34-77-34h-1022zm-330 1679 203-215v-214l-183 193zm621-287c97-35 162-128 162-231v-9c-33-5-59-27-70-57h-157c-6 15-15 28-26 38-15 12-35 20-56 20-37 0-69-24-82-58h-43l-87 93v300l-270 286-23 270 272-287c-6-12-9-25-9-39 0-48 39-87 87-87s87 39 87 87-39 87-87 87c-13 0-24-3-35-8l-323 342-23 270 303-320c-6-12-9-25-9-39 0-48 39-87 87-87s87 39 87 87-39 87-87 87c-12 0-24-3-35-8l-354 377-27 312 698-697v-722zm-302 685c15 0 27-12 27-27s-12-28-27-28c-16 0-28 13-28 28s12 27 28 27m0-332c15 0 27-12 27-27 0-16-12-28-27-28-16 0-28 12-28 28 0 15 12 27 28 27m155-652c15 0 28-12 28-27 0-16-13-28-28-28s-27 12-27 28c0 15 12 27 27 27m320 0c15 0 28-12 28-27 0-16-13-28-28-28s-27 12-27 28c0 15 12 27 27 27m19 816v-421c93-79 152-196 152-327 0-133-60-252-156-330-22-18-46-34-72-48-59-31-127-49-199-49-152 0-285 79-361 198v1c-6 9-133 228-133 228l-16 187 296-312h68c12-33 44-57 82-57 21 0 40 7 55 20 12 10 21 22 27 37h157c12-33 44-57 81-57 48 0 87 39 87 87 0 30-16 57-40 73 1 7 2 15 2 22 0 121-73 231-182 279v622zm2039-574v-467s-489-126-1095-126h-38c-272 2-605 44-839 78 87 88 141 208 141 341 0 134-55 261-152 352v15h1889c-27 251-107 490-232 702v-51h-154v-78h-86v-91h-52v-55c0-8-2-15-7-22-8-12-21-19-35-19s-27 7-35 19c-4 7-6 14-6 22v55h-52v90h-63v-295h-398v428l-120-59c-33-111-66-220-97-330 9-6 15-16 15-28 0-20-16-35-35-35s-35 15-35 35c0 12 6 22 15 28-30 103-60 206-91 309l-2-1-27-13v103h-46l-21-352-1-18h-141l-1 18-21 352h-109c-46-76-86-156-119-238l-63 63c188 438 541 789 981 975 665-281 1132-940 1132-1707" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(593,2862)"><path d="m0 0-2-68c37-1 67 9 92 27 24 19 38 45 40 79 4 41-9 74-38 98s-70 38-123 42c-54 5-98-3-130-22s-50-49-53-91c-6-70 34-111 120-124l10 66c-49 6-73 24-70 53 1 15 10 27 26 34 17 8 49 10 95 7 41-4 69-10 83-20 15-9 22-22 21-39-3-27-26-41-71-42" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(374,2785)"><path d="m0 0 3-81 124-43-121-55 3-72 190 100 142 5-3 73-142-5z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(388,2487)"><path d="m0 0 18-113c4-27 9-47 16-60 6-12 17-22 33-29 15-7 34-9 55-6 37 6 58 26 64 59 19-36 49-50 90-44 21 3 39 11 52 24 13 12 21 26 24 42 2 16 2 38-3 65l-17 113zm145-49 4-24c3-23 1-39-6-46-8-7-17-12-28-14-10-1-19 0-28 5s-15 17-18 37l-4 29zm141 22 5-36c6-34-6-53-35-57-16-3-28 0-36 7s-13 20-16 36l-5 36z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(444,2178)"><path d="m0 0 56-196 55 15-36 125 75 22 28-97 55 15-27 98 79 22 36-125 57 17-56 196z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(523,1919)"><path d="m0 0 41-97c8-19 15-33 21-42 6-10 15-18 27-25s25-11 41-11 32 3 48 10c39 17 60 43 63 78l159 1-31 73-140-10-14 34 122 52-29 67zm78-47 87 37 13-30c11-27 2-46-28-59-10-4-19-6-28-4-8 1-14 4-19 8-4 4-9 11-13 21z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(814,1499)"><path d="m0 0-10 65c-29-7-49 0-60 20-6 9-7 18-5 27 2 8 7 15 14 19 8 5 16 5 25 2 9-4 23-14 43-30 17-14 33-25 46-32s27-10 43-10c15 1 31 5 46 14 27 16 44 38 50 67 7 29 1 58-17 90-31 52-77 70-138 54l16-65c33 10 57 3 71-21 6-11 9-22 7-32s-7-18-17-23c-7-4-14-6-23-4-8 1-21 9-37 23-21 17-38 30-50 37-13 7-28 11-44 11s-31-4-47-13c-26-15-42-36-49-63-7-26-2-53 14-81 29-50 70-69 122-55" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(797,1395)"><path d="m0 0 123-163 45 35-78 104 63 47 60-81 46 34-60 81 66 50 78-105 48 36-123 163z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1230,1212)"><path d="m0 0 50-47c25 27 38 56 40 87 3 31-8 58-32 83-28 29-61 41-98 36-37-6-75-27-114-64-39-38-62-75-69-112-8-36 4-70 33-100 48-51 106-48 172 7l-43 52c-37-33-65-39-86-18-10 11-13 26-8 43 5 18 25 43 58 75 30 28 53 45 70 50 17 4 31 1 43-11 18-20 13-47-16-81" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1181,964)"><path d="m0 0 57-46 120 149c17 22 29 36 38 42 8 7 17 10 27 10 9-1 19-5 27-12 10-7 16-16 18-25 1-9 0-18-5-27s-16-24-33-45l-119-150 48-38 118 147c23 30 39 53 47 70s9 36 4 58c-6 21-21 42-45 61-23 18-44 29-63 32-19 2-37-1-53-10-17-10-39-32-67-67z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1439,767)"><path d="m0 0 90-54c18-11 32-18 42-22s22-5 36-4 27 7 40 16 24 21 33 36c21 36 23 69 5 100l128 94-69 41-106-90-32 19 68 113-63 38zm91 8 48 81 28-17c25-14 29-36 12-63-5-10-12-17-19-21-8-3-14-5-20-4-7 0-14 4-24 9z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1699,620)"><path d="m0 0 67-32 143 303-67 32z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1806,568)"><path d="m0 0 196-74 22 58-64 25 97 254-69 26l-97-254-62 24z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2037,481)"><path d="m0 0 79-20 76 107 18-131 70-18-42 211 35 137-72 18-35-137z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2669,520)"><path d="m0 0 55 6c-6 40-18 77-37 110 12 11 24 16 35 16 2-1 5-1 12-2l4 57c-9 3-18 5-25 5-24 2-46-7-68-26-25 24-55 37-88 40-37 3-65-5-83-24-19-18-29-41-31-67-3-43 20-77 69-102-23-27-36-51-37-73-2-20 5-38 20-54 16-16 36-25 62-27 27-2 48 4 65 18 16 15 25 33 27 55 3 34-15 62-52 85l51 58c10-18 16-43 21-75m-127 50c-21 15-31 34-30 56 1 14 7 25 16 33 9 9 21 12 36 11 18-1 33-9 45-23zm24-69c19-12 28-29 27-48-1-8-4-14-8-20-5-5-12-7-20-6-9 0-15 3-19 8-4 6-6 12-6 20 1 12 10 27 26 46" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2891,381)"><path d="m0 0 73 6-25 334-74-5z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3049,394)"><path d="m0 0 81 14 48 220 37-205 56 10-59 330-65-11-58-257-42 239-56-10z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3358,456)"><path d="m0 0 191 58-17 55-120-36-25 83 92 29-17 55-92-29-39 127-70-21z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3599,533)"><path d="m0 0 96 43c19 8 33 15 42 21s17 15 24 28c7 12 11 25 11 41s-4 32-11 48c-17 38-43 59-79 62l-2 159-74-32 13-140-34-14-53 121-68-30zm45 80-37 86 29 13c27 12 46 3 59-27 5-10 6-19 5-28-1-8-3-14-7-19-4-4-12-9-22-13z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3963,714)"><path d="m0 0 63 39-96 336-64-40 23-68-80-50-51 50-58-36zm-56 211 44-135-100 100z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4268,1026)"><path d="m0 0-62-20c11-27 7-48-11-63-8-6-17-9-25-9-9 1-16 5-21 11-6 7-8 16-6 25 3 9 10 24 23 46 12 20 20 37 25 51 4 14 5 28 3 44-3 15-10 30-21 43-19 25-44 38-73 40-30 2-58-8-87-31-47-38-58-86-32-145l61 26c-15 32-11 56 10 74 10 8 21 11 31 11s19-4 26-13c5-6 7-13 7-22 0-8-6-22-17-40-14-23-24-42-29-55-5-14-7-29-5-45 3-16 9-31 20-44 19-24 43-37 70-40 27-2 53 6 78 26 45 37 57 80 35 130" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4354,1005)"><path d="m0 0 147 149-45 44-48-49-194 192-52-53 194-191-47-48z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4537,1194)"><path d="m0 0 65 82c13 16 22 29 27 39s8 22 9 35c0 14-3 28-11 42-7 14-18 26-32 37-33 26-66 32-98 18l-77 140-50-63 76-118-23-29-104 83-45-58zm3 91-74 59 20 25c18 23 40 24 65 4 9-7 15-14 17-22 3-8 4-15 3-21-2-6-6-13-13-22z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4721,1436)"><path d="m0 0 38 63-165 98c-23 14-39 25-46 32-8 8-13 16-13 26-1 9 1 19 7 29 7 10 14 17 23 20s18 3 28-1c9-4 25-12 49-26l164-98 32 53-162 96c-33 19-58 32-76 38-18 5-37 4-58-5-20-8-38-25-54-52-15-25-23-48-23-67s6-36 17-51c12-15 36-34 75-57z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4749,1952)"><path d="m0 0 23 64c-34 12-66 13-95 3s-50-30-64-61c-16-38-14-73 6-105 19-32 54-58 103-80 50-21 93-28 130-20s63 31 80 70c27 64 2 116-75 156l-31-60c45-21 62-45 51-72-6-14-19-23-37-25s-49 6-91 24c-38 17-62 31-73 45s-14 29-7 44c10 25 37 30 80 17" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4983,1964)"><path d="m0 0 60 200-61 18-19-66-261 78-21-70 261-79-20-63z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(5056,2217)"><path d="m0 0 13 72-189 34c-27 5-45 9-55 13-10 5-17 11-21 20-4 8-5 18-3 29 2 12 7 21 14 28 7 6 16 9 26 8 10 0 28-2 55-7l189-33 11 61-186 32c-37 7-65 10-84 9s-37-9-53-25c-16-15-27-38-32-68-6-29-5-53 2-71s18-32 34-42 46-19 90-27z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(5106,2538)"><path d="m0 0 4 105c1 20 1 36-1 47-1 11-6 22-14 34-7 11-18 20-32 27s-30 11-48 12c-42 2-72-13-91-44l-143 68-4-80 131-50-2-37-132 6-3-74zm-52 76-94 4 2 32c1 29 18 43 50 41 11 0 20-3 27-7 7-5 12-10 14-16s3-14 3-25z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(5112,2842)"><path d="m0 0-16 203-57-5 10-129-78-6-8 101-57-5 8-101-82-6-10 130-60-5 16-203z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1303,4299)"><path d="m0 0-59-27c14-26 12-47-4-63-7-8-15-12-24-12-9-1-16 2-22 8-7 6-10 14-9 24 1 9 7 25 17 48 9 21 15 39 18 53 3 15 3 29-2 44-4 15-13 29-26 41-22 22-48 32-77 31-29-2-57-16-82-41-42-44-47-93-15-148l58 33c-19 30-18 54 1 74 9 9 19 14 29 15s19-2 27-9c6-6 9-13 10-22 1-8-3-22-12-41-11-25-19-44-22-59-4-14-3-29 1-44 4-16 13-30 25-42 22-21 46-31 73-31 28 1 52 13 75 35 40 42 47 86 20 133" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1392,4280)"><path d="m0 0 158 128-36 44-101-81-49 60 78 64-36 44-78-63-52 64 101 81-38 47-158-128z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1602,4693)"><path d="m0 0 56 39c-22 30-47 49-76 57-30 9-59 4-88-14-35-22-53-51-55-89-3-37 11-78 39-124s60-76 94-91c35-14 70-10 105 12 59 37 69 94 29 170l-60-31c25-43 25-73 0-88-13-8-28-8-44 1s-36 33-61 72c-21 35-33 61-34 78-1 18 5 31 20 40 22 14 48 3 75-32" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1808,4566)"><path d="m0 0 67 30-78 175c-11 24-18 42-20 53-2 10-1 20 4 28s13 14 23 19c11 5 21 6 30 4 9-3 17-9 22-17 6-8 14-25 25-50l78-174 56 25-76 172c-16 34-29 59-41 74-11 15-28 25-49 30-22 5-47 1-75-12-27-12-46-26-57-41-11-16-16-33-16-52 1-19 10-49 29-89z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2071,4679)"><path d="m0 0 101 29c20 6 34 11 44 16s19 13 28 24c8 11 13 24 15 40 2 15 1 32-4 49-12 40-35 64-70 71l18 158-77-22-6-140-35-10-37 127-71-21zm55 72-26 90 31 9c28 8 46-3 55-34 3-10 4-20 2-28s-6-14-11-18c-4-4-12-7-22-10z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2332,4748)"><path d="m0 0 73 14-62 329-72-14z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2428,4768)"><path d="m0 0 207 21-6 63-68-7-29 270-73-8 29-270-67-7z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2640,4791)"><path d="m0 0 81-1 48 122 50-123h72l-92 194 2 141-74 1-1-142z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3055,4767)"><path d="m0 0 73-13 150 314-74 13-28-66-93 16-4 71-67 11zm98 194-56-129-9 140z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3399,4847)"><path d="m0 0 111-34 53 170-30 10-20-34c-9 33-30 55-65 65-36 12-70 6-100-16s-52-57-67-106c-16-52-19-97-7-134 11-37 37-62 79-75 65-20 113 5 144 76l-60 30c-18-41-39-57-65-49-16 5-26 16-31 35-5 18 0 49 13 92 12 38 25 64 39 76 14 13 30 17 48 11 28-9 36-34 23-76l-48 14z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3513,4643)"><path d="m0 0 185-85 24 52-118 54 32 71 92-42 24 52-92 42 34 75 119-54 24 54-185 85z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3725,4544)"><path d="m0 0 69-43 183 131-110-177 49-29 176 284-56 35-214-153 127 206-48 30z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4222,4453)"><path d="m0 0 55-39c21 29 31 59 30 90-2 31-16 57-42 78-32 26-65 34-101 25-37-10-72-36-106-77-34-42-52-82-55-119s12-69 44-96c54-44 111-35 171 28l-49 46c-33-37-61-47-84-28-11 10-16 24-13 42 4 18 20 45 49 81 26 31 47 51 64 57 16 7 30 5 43-6 21-17 19-44-6-82" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4135,4250)"><path d="m0 0 56-58 121 50-53-121 49-52 75 201 103 98-51 53-102-98z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2745,812)"><path d="m0 0c-1068 0-1933 865-1933 1933 0 503 192 960 506 1304l5-64c-300-344-464-779-464-1240 0-504 196-978 552-1334 357-356 830-552 1334-552s978 196 1334 552 552 830 552 1334-196 978-552 1334-830 552-1334 552c-458 0-892-162-1235-460l-34 33c340 295 784 474 1269 474 1068 0 1933-865 1933-1933s-865-1933-1933-1933" fill="#c41230"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(618,3247)"><path d="m0 0-47 15c67 283 189 547 353 777l42-27c-162-227-282-486-348-765m4254 0c-66 279-186 538-348 765l42 27c164-230 286-494 353-777z" fill="#0078ae"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(508,3281)"><path d="m0 0-48 15c71 295 198 568 368 807l41-27c-167-236-292-505-361-795m4474 0c-69 290-193 559-361 795l41 27c170-239 297-512 368-807z" fill="#0078ae"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(724,3214)"><path d="m0 0-48 15c65 274 182 527 341 749l41-27c-156-218-272-468-334-737m4042 0c-62 269-177 519-334 737l41 27c159-222 276-475 341-749z" fill="#0078ae"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2981,3457)"><path d="m0 0 173 85v135c-197 6-398 52-537 104-62-73-119-150-169-232h115l22-370h107l22 370h82v-92l185 90zm-123 385c-22 0-39 22-39 50v87c26 22 52 43 79 63v-150c0-28-18-50-40-50m172-51c-22 0-40 22-40 50v265c26 17 53 33 80 49v-314c0-28-18-50-40-50m143 419c21 10 42 20 63 29 4-1 8-3 12-5v-968c0-1 1-2 2-2h17c1 0 2 1 2 2v958c24-11 47-23 70-35v-971c0-1 1-2 2-2h17c1 0 2 1 2 2v960c24-13 47-26 70-40v-872c0-1 1-2 2-2h17c1 0 2 1 2 2v859c28-17 56-35 83-54v-960h-361zm610-893-52-1v-73c0-4-1-8-4-12-4-7-11-11-19-11s-15 4-19 11c-2 4-4 8-4 12v74h-52v90h-81v651c118-86 225-185 317-295v-356h-86zm105 423c50-60 95-124 136-191v-63h-136zm-190-1258h-82l41-135zh-82l41-135zm587-260v401c0 41-2 82-5 122h-1845c66-84 102-188 102-296 0-98-30-189-80-266 228-32 530-68 778-70h38c465 0 863 76 1012 109m-1553 219c0-84 24-126 71-126 41 0 62 27 64 82l94-6c-11-100-63-150-156-150-54 0-96 19-127 56s-46 85-46 143c0 62 16 111 48 146s73 53 124 53c42 0 77-12 106-36s46-60 51-106l-87-5c-8 49-31 73-69 73-23 0-41-9-53-26-13-17-20-50-20-98m373-194h-91v386h91zm362 263c0-23-6-43-18-61-13-18-28-31-46-39-19-8-48-16-87-24-23-5-38-10-45-17-7-6-10-14-10-23 0-23 18-35 53-35 34 0 56 15 66 46l77-26c-22-60-70-91-146-91-43 0-76 12-101 36-25 23-38 52-38 87 0 34 11 59 31 77 21 18 56 31 105 42 27 5 45 11 54 17s14 15 14 26c0 12-6 21-16 29s-25 12-46 12c-43 0-69-18-78-54l-84 19c9 36 27 62 55 80s61 27 101 27c52 0 92-12 119-38s40-56 40-90m373 123-121-386h-104l-124 386h79l24-79h125l24 79zm-183-286 41 135h-82zm41 135h-82l41-135zh-82l41-135z" fill="#0078ae"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2714,3233)"><path d="m0 0-2-31c24 48 64 87 114 109-2 5-3 9-4 13-45-19-82-51-108-91m442-140c-6-128-111-229-239-229-133 0-241 107-241 240 0 19 3 38 7 56h14c-4-18-7-37-7-56 0-125 102-227 227-227s226 102 226 227c0 92-55 171-134 207 1 4 2 9 4 13 74-32 128-101 141-183v-49h2zm-47 11c0-106-86-193-192-193-107 0-193 87-193 193 0 77 45 144 111 174l4-13c-59-29-101-90-101-161 0-99 80-179 179-179 98 0 178 80 178 179 0 70-41 131-100 160l4 14c65-31 110-97 110-174m-37 0c0-85-70-155-155-155-86 0-155 70-155 155 0 60 34 112 84 138 2-5 3-10 4-15-43-24-73-70-73-123 0-77 62-140 140-140 77 0 140 63 140 140 0 53-30 99-73 123 1 4 3 9 4 14 50-26 84-77 84-137m-31 0c0-69-56-125-124-125-69 0-125 56-125 125 0 46 25 86 63 108l4-15c-31-20-51-54-51-93 0-60 49-109 109-109s109 49 109 109c0 39-20 73-51 92l5 15c36-21 61-61 61-107m-50 0c0-43-33-78-74-78-42 0-75 35-75 78 0 24 10 45 27 60 2-6 3-12 5-18-10-11-16-26-16-42 0-34 26-62 59-62 32 0 59 28 59 62 0 16-6 30-16 41 2 6 4 12 5 18 16-15 26-36 26-59m26 0c0-55-45-100-100-100-56 0-101 45-101 100 0 35 19 66 46 84 2-6 3-11 5-16-21-16-34-40-34-68 0-46 37-84 84-84 46 0 84 38 84 84 0 27-13 51-33 67 2 5 3 11 5 16 26-18 44-48 44-83m760-288h-10c30 90 47 187 47 288 0 67-7 131-21 194h9v8c15-65 22-133 22-202 0-101-16-197-47-288m237 0h-10c24 92 37 188 37 288 0 127-21 249-60 363h10c39-114 60-236 60-363 0-99-13-196-37-288m-430 0h-12c39 88 61 186 61 288 0 101-22 197-59 285h11c12-27 22-55 30-83v-8h2c17-62 27-127 27-194 0-102-22-200-60-288m-1220 430-9 10c28 106 87 201 166 274h17c-84-74-145-172-174-284m1045-430c48 81 76 176 78 277h11c-2-101-29-195-76-277zm-985 0h-13c-10 17-18 34-26 52v30c11-29 24-56 39-82m575 0h-165c-125 36-217 151-217 288 0 19 2 38 6 56h13c-4-18-6-37-6-56 0-158 129-287 287-287 154 0 280 123 286 275h13c-5-131-95-241-217-276m-194 566c1-4 2-9 4-13-34-14-64-34-90-58l1 18c25 22 53 40 85 53m221-13c1 4 2 8 4 12 49-20 92-53 124-95v-22c-31 46-76 83-128 105m21 72c1 4 2 8 4 12 37-15 72-36 103-61v-16c-31 27-67 49-107 65m-322-17c17 11 34 19 53 27v-14c-19-8-37-17-54-28zm-182-320c0 43 7 84 21 122l2-36c-7-28-11-56-11-86 0-117 57-222 144-288h-20c-83 69-136 172-136 288m735-11h12c-3-112-55-211-135-277h-21c85 64 140 164 144 277m-10-277c62 76 100 172 103 277h12c-3-105-40-200-100-277zm-806 288c0-109 39-210 104-288h-16c-62 79-100 179-100 288 0 111 39 212 104 292l1-18c-58-76-93-171-93-274m270 426h28c-10-3-20-7-29-11zm394-23 13 7 15-9v-14c-9 6-18 11-28 16" fill="#5e9732"/></g></g></g></g></g></svg>
diff --git a/nginx/landingpage/assets/imgs/Malcolm_banner.png b/nginx/landingpage/assets/imgs/Malcolm_banner.png
new file mode 100755
index 0000000000000000000000000000000000000000..c528b14e5a837f5989ddbe4b07e0711d022f048f
GIT binary patch
literal 45303
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
Ns4Bfu{2^}<`hONN9y$O3

literal 0
HcmV?d00001

diff --git a/nginx/landingpage/assets/imgs/Malcolm_banner_white.png b/nginx/landingpage/assets/imgs/Malcolm_banner_white.png
new file mode 100644
index 0000000000000000000000000000000000000000..1efea17952521adcb778dc1c216cbbcea868ffd6
GIT binary patch
literal 45426
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

literal 0
HcmV?d00001

diff --git a/nginx/landingpage/assets/imgs/api.png b/nginx/landingpage/assets/imgs/api.png
new file mode 100644
index 0000000000000000000000000000000000000000..c6c4eb0077d1c2fc5b98f0e87ec6b009a2648d82
GIT binary patch
literal 13065
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

literal 0
HcmV?d00001

diff --git a/nginx/landingpage/assets/imgs/cyberchef.svg b/nginx/landingpage/assets/imgs/cyberchef.svg
new file mode 100644
index 000000000..9ec0f9519
--- /dev/null
+++ b/nginx/landingpage/assets/imgs/cyberchef.svg
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="400"
+   height="400"
+   viewBox="0 0 400 399.99999"
+   id="svg4819"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="cyberchef_hat.svg"
+   inkscape:export-xdpi="337.5"
+   inkscape:export-ydpi="337.5">
+  <defs
+     id="defs4821">
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:label="Drop Shadow"
+       id="filter4682">
+      <feFlood
+         flood-opacity="0.498039"
+         flood-color="rgb(0,0,0)"
+         result="flood"
+         id="feFlood4684" />
+      <feComposite
+         in="flood"
+         in2="SourceGraphic"
+         operator="in"
+         result="composite1"
+         id="feComposite4686" />
+      <feGaussianBlur
+         in="composite1"
+         stdDeviation="5"
+         result="blur"
+         id="feGaussianBlur4688" />
+      <feOffset
+         dx="1.34615e-014"
+         dy="0.7"
+         result="offset"
+         id="feOffset4690" />
+      <feComposite
+         in="SourceGraphic"
+         in2="offset"
+         operator="over"
+         result="composite2"
+         id="feComposite4692" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="40.62369"
+     inkscape:cy="206.8588"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1138"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:snap-page="false"
+     showguides="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" />
+  <metadata
+     id="metadata4824">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-61.812519,-579.37011)">
+    <circle
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path5494-5-0"
+       cx="209.06097"
+       cy="843.2403"
+       r="0" />
+    <g
+       id="g4673"
+       style="filter:url(#filter4682)"
+       transform="translate(5.1770318,2.0203049)">
+      <path
+         inkscape:connector-curvature="0"
+         id="rect5513"
+         d="m 243.66981,877.59676 0,32.00949 97.94463,0 0,-32.00949 -97.94463,0 z"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path5516"
+         d="m 243.66981,877.59676 -97.94463,0 0,32.00949 97.94463,0 0,-32.00949 z"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <path
+         id="path5432"
+         d="m 252.43415,634.65787 c -2.93079,0.0237 -5.85751,0.22598 -8.76434,0.60581 2.9e-4,92.54556 0,151.78177 0,246.9062 l 102.82518,0 0,-51.59276 c 0.34138,-2.19919 0.64564,-4.39387 0.82997,-6.13864 l 0.74658,-7.06246 6.41143,-2.55609 6.41143,-2.5581 9.34811,7.55758 c 5.14171,4.15711 10.34711,7.56009 11.56798,7.56361 3.05362,0.0103 24.90114,-22.4949 24.90114,-25.64946 0,-1.33375 -3.32577,-6.68709 -7.38833,-11.89487 l -7.38636,-9.4676 2.32909,-5.44225 c 1.28072,-2.99325 2.66205,-5.81504 3.06771,-6.26947 0.40565,-0.45443 6.4466,-1.77039 13.4245,-2.92441 l 12.68785,-2.09721 0.31968,-17.45587 c 0.19141,-10.42474 -0.1393,-17.92314 -0.82203,-18.61518 -0.62875,-0.63732 -6.64398,-1.99532 -13.36493,-3.01699 l -12.21726,-1.85568 -2.69443,-6.71426 -2.69047,-6.71226 7.36849,-9.55615 c 4.05209,-5.256 7.36649,-10.33897 7.36649,-11.2951 0,-2.04511 -22.89779,-25.96343 -24.85547,-25.96343 -0.73476,0 -5.85983,3.4567 -11.38928,7.68437 l -10.05298,7.6884 -6.15927,-2.5883 -5.96467,-2.50376 c -0.0655,-0.0303 -0.13101,-0.0605 -0.19658,-0.0906 l -1.89623,-12.34168 c -1.04342,-6.79095 -2.4584,-13.03053 -3.14516,-13.86931 -0.96141,-1.17423 -9.08067,-1.71556 -17.20305,-1.66447 -8.12235,0.0511 -16.24958,0.69142 -17.22093,1.87782 -0.69477,0.84854 -1.89525,5.90378 -2.8493,11.68555 -13.78021,-15.03842 -33.09617,-23.61037 -53.34456,-23.67301 z"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccccccccscccscccscccccsscccccssscccc" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path5490"
+         d="m 243.66981,904.03117 0,16.911 102.82518,0 0,-16.911 -102.82518,0 z"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path5488"
+         d="m 243.66981,635.26335 a 73.110297,74.107784 0 0 0 -50.24705,29.88411 73.110297,74.107784 0 0 0 -24.78797,-4.48825 73.110297,74.107784 0 0 0 -73.109015,74.10849 73.110297,74.107784 0 0 0 44.891955,68.35225 l 0,79.0496 103.25208,0 0,-246.9062 z"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path5492"
+         d="m 243.66981,904.03117 -103.25208,0 0,16.911 103.25208,0 0,-16.911 z"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4473-2"
+         d="m 141.92964,901.472 204.28572,0"
+         style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
diff --git a/nginx/landingpage/assets/imgs/github-mark-white.svg b/nginx/landingpage/assets/imgs/github-mark-white.svg
new file mode 100644
index 000000000..d5e649185
--- /dev/null
+++ b/nginx/landingpage/assets/imgs/github-mark-white.svg
@@ -0,0 +1 @@
+<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#fff"/></svg>
\ No newline at end of file
diff --git a/nginx/landingpage/assets/imgs/icon.png b/nginx/landingpage/assets/imgs/icon.png
new file mode 100755
index 0000000000000000000000000000000000000000..86180f0bad8c3e7c4ba54001a0629adfc78d6a86
GIT binary patch
literal 89100
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

literal 0
HcmV?d00001

diff --git a/nginx/landingpage/assets/imgs/lock.png b/nginx/landingpage/assets/imgs/lock.png
new file mode 100644
index 0000000000000000000000000000000000000000..c09d3081678c8358d6ba4f99974b81f674358ca3
GIT binary patch
literal 6031
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

literal 0
HcmV?d00001

diff --git a/nginx/landingpage/assets/imgs/markdown.png b/nginx/landingpage/assets/imgs/markdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..b70d3815a9838438b0605a12e5216accd920592a
GIT binary patch
literal 14943
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

literal 0
HcmV?d00001

diff --git a/nginx/landingpage/assets/imgs/netbox_icon.svg b/nginx/landingpage/assets/imgs/netbox_icon.svg
new file mode 100755
index 000000000..61b9b5aab
--- /dev/null
+++ b/nginx/landingpage/assets/imgs/netbox_icon.svg
@@ -0,0 +1,20 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 320">
+  <g fill="#9cc8f8" stroke="#9cc8f8">
+    <circle cx="37" cy="284" r="23"/>
+    <circle cx="101" cy="37" r="23"/>
+    <circle cx="101" cy="220" r="23"/>
+    <circle cx="284" cy="220" r="23"/>
+    <rect x="93" y="37" width="16" height="180"/>
+    <rect x="101" y="212" width="180" height="16"/>
+    <rect x="93" y="212" width="16" height="90" transform="rotate(45 101 220)"/>
+  </g>
+  <g fill="#1685fc" stroke="#1685fc">
+    <circle cx="284" cy="37" r="23"/>
+    <circle cx="37" cy="101" r="23"/>
+    <circle cx="220" cy="101" r="23"/>
+    <circle cx="220" cy="284" r="23"/>
+    <rect x="37" y="93" width="180" height="16"/>
+    <rect x="212" y="101" width="16" height="180"/>
+    <rect x="212" y="93" width="16" height="90" transform="rotate(225 220 101)"/>
+  </g>
+</svg>
diff --git a/nginx/landingpage/assets/imgs/opensearch.png b/nginx/landingpage/assets/imgs/opensearch.png
new file mode 100755
index 0000000000000000000000000000000000000000..077f1868dee49c81e269c88206333fd267170d8e
GIT binary patch
literal 10327
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
U@&tqjcoYcI(J)Z2RkM%!KY|oHg8%>k

literal 0
HcmV?d00001

diff --git a/nginx/landingpage/assets/js/bootstrap.bundle.min.js b/nginx/landingpage/assets/js/bootstrap.bundle.min.js
new file mode 100644
index 000000000..68acb7a31
--- /dev/null
+++ b/nginx/landingpage/assets/js/bootstrap.bundle.min.js
@@ -0,0 +1,7 @@
+/*!
+  * Bootstrap v5.0.2 (https://getbootstrap.com/)
+  * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]}},e=t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},i=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i="#"+i.split("#")[1]),e=i&&"#"!==i?i.trim():null}return e},n=t=>{const e=i(t);return e&&document.querySelector(e)?e:null},s=t=>{const e=i(t);return e?document.querySelector(e):null},o=t=>{t.dispatchEvent(new Event("transitionend"))},r=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),a=e=>r(e)?e.jquery?e[0]:e:"string"==typeof e&&e.length>0?t.findOne(e):null,l=(t,e,i)=>{Object.keys(i).forEach(n=>{const s=i[n],o=e[n],a=o&&r(o)?"element":null==(l=o)?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)})},c=t=>!(!r(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),h=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),d=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?d(t.parentNode):null},u=()=>{},f=t=>t.offsetHeight,p=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},m=[],g=()=>"rtl"===document.documentElement.dir,_=t=>{var e;e=()=>{const e=p();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",()=>{m.forEach(t=>t())}),m.push(e)):e()},b=t=>{"function"==typeof t&&t()},v=(t,e,i=!0)=>{if(!i)return void b(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const r=({target:i})=>{i===e&&(s=!0,e.removeEventListener("transitionend",r),b(t))};e.addEventListener("transitionend",r),setTimeout(()=>{s||o(e)},n)},y=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},w=/[^.]*(?=\..*)\.|.*/,E=/\..*/,A=/::\d+$/,T={};let O=1;const C={mouseenter:"mouseover",mouseleave:"mouseout"},k=/^(mouseenter|mouseleave)/i,L=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&`${e}::${O++}`||t.uidEvent||O++}function D(t){const e=x(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function S(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;s<o;s++){const o=t[n[s]];if(o.originalHandler===e&&o.delegationSelector===i)return o}return null}function I(t,e,i){const n="string"==typeof e,s=n?i:e;let o=M(t);return L.has(o)||(o=t),[n,s,o]}function N(t,e,i,n,s){if("string"!=typeof e||!t)return;if(i||(i=n,n=null),k.test(e)){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=I(e,i,n),l=D(t),c=l[a]||(l[a]={}),h=S(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=x(r,e.replace(w,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function j(t,e,i,n,s){const o=S(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function M(t){return t=t.replace(E,""),C[t]||t}const P={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=I(e,i,n),a=r!==e,l=D(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void j(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach(i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach(o=>{if(o.includes(n)){const n=s[o];j(t,e,i,n.originalHandler,n.delegationSelector)}})}(t,l,i,e.slice(1))});const h=l[r]||{};Object.keys(h).forEach(i=>{const n=i.replace(A,"");if(!a||e.includes(n)){const e=h[i];j(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=p(),s=M(e),o=e!==s,r=L.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach(t=>{Object.defineProperty(d,t,{get:()=>i[t]})}),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},H=new Map;var R={set(t,e,i){H.has(t)||H.set(t,new Map);const n=H.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>H.has(t)&&H.get(t).get(e)||null,remove(t,e){if(!H.has(t))return;const i=H.get(t);i.delete(e),0===i.size&&H.delete(t)}};class B{constructor(t){(t=a(t))&&(this._element=t,R.set(this._element,this.constructor.DATA_KEY,this))}dispose(){R.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(t=>{this[t]=null})}_queueCallback(t,e,i=!0){v(t,e,i)}static getInstance(t){return R.get(t,this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.0.2"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}class W extends B{static get NAME(){return"alert"}close(t){const e=t?this._getRootElement(t):this._element,i=this._triggerCloseEvent(e);null===i||i.defaultPrevented||this._removeElement(e)}_getRootElement(t){return s(t)||t.closest(".alert")}_triggerCloseEvent(t){return P.trigger(t,"close.bs.alert")}_removeElement(t){t.classList.remove("show");const e=t.classList.contains("fade");this._queueCallback(()=>this._destroyElement(t),t,e)}_destroyElement(t){t.remove(),P.trigger(t,"closed.bs.alert")}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);"close"===t&&e[t](this)}))}static handleDismiss(t){return function(e){e&&e.preventDefault(),t.close(this)}}}P.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',W.handleDismiss(new W)),_(W);class q extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function z(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function $(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}P.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');q.getOrCreateInstance(e).toggle()}),_(q);const U={setDataAttribute(t,e,i){t.setAttribute("data-bs-"+$(e),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+$(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=z(t.dataset[i])}),e},getDataAttribute:(t,e)=>z(t.getAttribute("data-bs-"+$(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},V={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",X="prev",Y="left",Q="right",G={ArrowLeft:Q,ArrowRight:Y};class Z extends B{constructor(e,i){super(e),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(i),this._indicatorsElement=t.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return F}static get NAME(){return"carousel"}next(){this._slide(K)}nextWhenVisible(){!document.hidden&&c(this._element)&&this.next()}prev(){this._slide(X)}pause(e){e||(this._isPaused=!0),t.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(o(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(e){this._activeElement=t.findOne(".active.carousel-item",this._element);const i=this._getItemIndex(this._activeElement);if(e>this._items.length-1||e<0)return;if(this._isSliding)return void P.one(this._element,"slid.bs.carousel",()=>this.to(e));if(i===e)return this.pause(),void this.cycle();const n=e>i?K:X;this._slide(n,this._items[e])}_getConfig(t){return t={...F,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("carousel",t,V),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?Q:Y)}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),P.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const e=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};t.find(".carousel-item img",this._element).forEach(t=>{P.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(P.on(this._element,"pointerdown.bs.carousel",t=>e(t)),P.on(this._element,"pointerup.bs.carousel",t=>n(t)),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.carousel",t=>e(t)),P.on(this._element,"touchmove.bs.carousel",t=>i(t)),P.on(this._element,"touchend.bs.carousel",t=>n(t)))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=G[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(e){return this._items=e&&e.parentNode?t.find(".carousel-item",e.parentNode):[],this._items.indexOf(e)}_getItemByOrder(t,e){const i=t===K;return y(this._items,e,i,this._config.wrap)}_triggerSlideEvent(e,i){const n=this._getItemIndex(e),s=this._getItemIndex(t.findOne(".active.carousel-item",this._element));return P.trigger(this._element,"slide.bs.carousel",{relatedTarget:e,direction:i,from:s,to:n})}_setActiveIndicatorElement(e){if(this._indicatorsElement){const i=t.findOne(".active",this._indicatorsElement);i.classList.remove("active"),i.removeAttribute("aria-current");const n=t.find("[data-bs-target]",this._indicatorsElement);for(let t=0;t<n.length;t++)if(Number.parseInt(n[t].getAttribute("data-bs-slide-to"),10)===this._getItemIndex(e)){n[t].classList.add("active"),n[t].setAttribute("aria-current","true");break}}}_updateInterval(){const e=this._activeElement||t.findOne(".active.carousel-item",this._element);if(!e)return;const i=Number.parseInt(e.getAttribute("data-bs-interval"),10);i?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=i):this._config.interval=this._config.defaultInterval||this._config.interval}_slide(e,i){const n=this._directionToOrder(e),s=t.findOne(".active.carousel-item",this._element),o=this._getItemIndex(s),r=i||this._getItemByOrder(n,s),a=this._getItemIndex(r),l=Boolean(this._interval),c=n===K,h=c?"carousel-item-start":"carousel-item-end",d=c?"carousel-item-next":"carousel-item-prev",u=this._orderToDirection(n);if(r&&r.classList.contains("active"))return void(this._isSliding=!1);if(this._isSliding)return;if(this._triggerSlideEvent(r,u).defaultPrevented)return;if(!s||!r)return;this._isSliding=!0,l&&this.pause(),this._setActiveIndicatorElement(r),this._activeElement=r;const p=()=>{P.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:u,from:o,to:a})};if(this._element.classList.contains("slide")){r.classList.add(d),f(r),s.classList.add(h),r.classList.add(h);const t=()=>{r.classList.remove(h,d),r.classList.add("active"),s.classList.remove("active",d,h),this._isSliding=!1,setTimeout(p,0)};this._queueCallback(t,s,!0)}else s.classList.remove("active"),r.classList.add("active"),this._isSliding=!1,p();l&&this.cycle()}_directionToOrder(t){return[Q,Y].includes(t)?g()?t===Y?X:K:t===Y?K:X:t}_orderToDirection(t){return[K,X].includes(t)?g()?t===X?Y:Q:t===X?Q:Y:t}static carouselInterface(t,e){const i=Z.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){Z.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=s(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},n=this.getAttribute("data-bs-slide-to");n&&(i.interval=!1),Z.carouselInterface(e,i),n&&Z.getInstance(e).to(n),t.preventDefault()}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",Z.dataApiClickHandler),P.on(window,"load.bs.carousel.data-api",()=>{const e=t.find('[data-bs-ride="carousel"]');for(let t=0,i=e.length;t<i;t++)Z.carouselInterface(e[t],Z.getInstance(e[t]))}),_(Z);const J={toggle:!0,parent:""},tt={toggle:"boolean",parent:"(string|element)"};class et extends B{constructor(e,i){super(e),this._isTransitioning=!1,this._config=this._getConfig(i),this._triggerArray=t.find(`[data-bs-toggle="collapse"][href="#${this._element.id}"],[data-bs-toggle="collapse"][data-bs-target="#${this._element.id}"]`);const s=t.find('[data-bs-toggle="collapse"]');for(let e=0,i=s.length;e<i;e++){const i=s[e],o=n(i),r=t.find(o).filter(t=>t===this._element);null!==o&&r.length&&(this._selector=o,this._triggerArray.push(i))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return J}static get NAME(){return"collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let e,i;this._parent&&(e=t.find(".show, .collapsing",this._parent).filter(t=>"string"==typeof this._config.parent?t.getAttribute("data-bs-parent")===this._config.parent:t.classList.contains("collapse")),0===e.length&&(e=null));const n=t.findOne(this._selector);if(e){const t=e.find(t=>n!==t);if(i=t?et.getInstance(t):null,i&&i._isTransitioning)return}if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e&&e.forEach(t=>{n!==t&&et.collapseInterface(t,"hide"),i||R.set(t,"bs.collapse",null)});const s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach(t=>{t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const o="scroll"+(s[0].toUpperCase()+s.slice(1));this._queueCallback(()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[s]="",this.setTransitioning(!1),P.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[s]=this._element[o]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",f(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;if(e>0)for(let t=0;t<e;t++){const e=this._triggerArray[t],i=s(e);i&&!i.classList.contains("show")&&(e.classList.add("collapsed"),e.setAttribute("aria-expanded",!1))}this.setTransitioning(!0),this._element.style[t]="",this._queueCallback(()=>{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),P.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}setTransitioning(t){this._isTransitioning=t}_getConfig(t){return(t={...J,...t}).toggle=Boolean(t.toggle),l("collapse",t,tt),t}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:e}=this._config;e=a(e);const i=`[data-bs-toggle="collapse"][data-bs-parent="${e}"]`;return t.find(i,e).forEach(t=>{const e=s(t);this._addAriaAndCollapsedClass(e,[t])}),e}_addAriaAndCollapsedClass(t,e){if(!t||!e.length)return;const i=t.classList.contains("show");e.forEach(t=>{i?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",i)})}static collapseInterface(t,e){let i=et.getInstance(t);const n={...J,...U.getDataAttributes(t),..."object"==typeof e&&e?e:{}};if(!i&&n.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(n.toggle=!1),i||(i=new et(t,n)),"string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){et.collapseInterface(this,t)}))}}P.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();const i=U.getDataAttributes(this),s=n(this);t.find(s).forEach(t=>{const e=et.getInstance(t);let n;e?(null===e._parent&&"string"==typeof i.parent&&(e._config.parent=i.parent,e._parent=e._getParent()),n="toggle"):n=i,et.collapseInterface(t,n)})})),_(et);var it="top",nt="bottom",st="right",ot="left",rt=[it,nt,st,ot],at=rt.reduce((function(t,e){return t.concat([e+"-start",e+"-end"])}),[]),lt=[].concat(rt,["auto"]).reduce((function(t,e){return t.concat([e,e+"-start",e+"-end"])}),[]),ct=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function ht(t){return t?(t.nodeName||"").toLowerCase():null}function dt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function ut(t){return t instanceof dt(t).Element||t instanceof Element}function ft(t){return t instanceof dt(t).HTMLElement||t instanceof HTMLElement}function pt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof dt(t).ShadowRoot||t instanceof ShadowRoot)}var mt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];ft(s)&&ht(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});ft(n)&&ht(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function gt(t){return t.split("-")[0]}function _t(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function bt(t){var e=_t(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function vt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&pt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function yt(t){return dt(t).getComputedStyle(t)}function wt(t){return["table","td","th"].indexOf(ht(t))>=0}function Et(t){return((ut(t)?t.ownerDocument:t.document)||window.document).documentElement}function At(t){return"html"===ht(t)?t:t.assignedSlot||t.parentNode||(pt(t)?t.host:null)||Et(t)}function Tt(t){return ft(t)&&"fixed"!==yt(t).position?t.offsetParent:null}function Ot(t){for(var e=dt(t),i=Tt(t);i&&wt(i)&&"static"===yt(i).position;)i=Tt(i);return i&&("html"===ht(i)||"body"===ht(i)&&"static"===yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&ft(t)&&"fixed"===yt(t).position)return null;for(var i=At(t);ft(i)&&["html","body"].indexOf(ht(i))<0;){var n=yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ct(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var kt=Math.max,Lt=Math.min,xt=Math.round;function Dt(t,e,i){return kt(t,Lt(e,i))}function St(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function It(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var Nt={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=gt(i.placement),l=Ct(a),c=[ot,st].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return St("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:It(t,rt))}(s.padding,i),d=bt(o),u="y"===l?it:ot,f="y"===l?nt:st,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=Ot(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=Dt(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&vt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},jt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mt(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.offsets,r=t.position,a=t.gpuAcceleration,l=t.adaptive,c=t.roundOffsets,h=!0===c?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:xt(xt(e*n)/n)||0,y:xt(xt(i*n)/n)||0}}(o):"function"==typeof c?c(o):o,d=h.x,u=void 0===d?0:d,f=h.y,p=void 0===f?0:f,m=o.hasOwnProperty("x"),g=o.hasOwnProperty("y"),_=ot,b=it,v=window;if(l){var y=Ot(i),w="clientHeight",E="clientWidth";y===dt(i)&&"static"!==yt(y=Et(i)).position&&(w="scrollHeight",E="scrollWidth"),y=y,s===it&&(b=nt,p-=y[w]-n.height,p*=a?1:-1),s===ot&&(_=st,u-=y[E]-n.width,u*=a?1:-1)}var A,T=Object.assign({position:r},l&&jt);return a?Object.assign({},T,((A={})[b]=g?"0":"",A[_]=m?"0":"",A.transform=(v.devicePixelRatio||1)<2?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",A)):Object.assign({},T,((e={})[b]=g?p+"px":"",e[_]=m?u+"px":"",e.transform="",e))}var Pt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:gt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Mt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Mt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},Ht={passive:!0},Rt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=dt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,Ht)})),a&&l.addEventListener("resize",i.update,Ht),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,Ht)})),a&&l.removeEventListener("resize",i.update,Ht)}},data:{}},Bt={left:"right",right:"left",bottom:"top",top:"bottom"};function Wt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Bt[t]}))}var qt={start:"end",end:"start"};function zt(t){return t.replace(/start|end/g,(function(t){return qt[t]}))}function $t(t){var e=dt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ut(t){return _t(Et(t)).left+$t(t).scrollLeft}function Ft(t){var e=yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Vt(t,e){var i;void 0===e&&(e=[]);var n=function t(e){return["html","body","#document"].indexOf(ht(e))>=0?e.ownerDocument.body:ft(e)&&Ft(e)?e:t(At(e))}(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=dt(n),r=s?[o].concat(o.visualViewport||[],Ft(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Vt(At(r)))}function Kt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Xt(t,e){return"viewport"===e?Kt(function(t){var e=dt(t),i=Et(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+Ut(t),y:a}}(t)):ft(e)?function(t){var e=_t(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Kt(function(t){var e,i=Et(t),n=$t(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ut(t),l=-n.scrollTop;return"rtl"===yt(s||i).direction&&(a+=kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Et(t)))}function Yt(t){return t.split("-")[1]}function Qt(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?gt(s):null,r=s?Yt(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case it:e={x:a,y:i.y-n.height};break;case nt:e={x:a,y:i.y+i.height};break;case st:e={x:i.x+i.width,y:l};break;case ot:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ct(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case"start":e[c]=e[c]-(i[h]/2-n[h]/2);break;case"end":e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Gt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?"clippingParents":o,a=i.rootBoundary,l=void 0===a?"viewport":a,c=i.elementContext,h=void 0===c?"popper":c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=St("number"!=typeof p?p:It(p,rt)),g="popper"===h?"reference":"popper",_=t.elements.reference,b=t.rects.popper,v=t.elements[u?g:h],y=function(t,e,i){var n="clippingParents"===e?function(t){var e=Vt(At(t)),i=["absolute","fixed"].indexOf(yt(t).position)>=0&&ft(t)?Ot(t):t;return ut(i)?e.filter((function(t){return ut(t)&&vt(t,i)&&"body"!==ht(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Xt(t,i);return e.top=kt(n.top,e.top),e.right=Lt(n.right,e.right),e.bottom=Lt(n.bottom,e.bottom),e.left=kt(n.left,e.left),e}),Xt(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}(ut(v)?v:v.contextElement||Et(t.elements.popper),r,l),w=_t(_),E=Qt({reference:w,element:b,strategy:"absolute",placement:s}),A=Kt(Object.assign({},b,E)),T="popper"===h?A:w,O={top:y.top-T.top+m.top,bottom:T.bottom-y.bottom+m.bottom,left:y.left-T.left+m.left,right:T.right-y.right+m.right},C=t.modifiersData.offset;if("popper"===h&&C){var k=C[s];Object.keys(O).forEach((function(t){var e=[st,nt].indexOf(t)>=0?1:-1,i=[it,nt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function Zt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?lt:l,h=Yt(n),d=h?a?at:at.filter((function(t){return Yt(t)===h})):rt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=Gt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[gt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}var Jt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=gt(g),b=l||(_!==g&&p?function(t){if("auto"===gt(t))return[];var e=Wt(t);return[zt(t),e,zt(e)]}(g):[Wt(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat("auto"===gt(i)?Zt(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O<v.length;O++){var C=v[O],k=gt(C),L="start"===Yt(C),x=[it,nt].indexOf(k)>=0,D=x?"width":"height",S=Gt(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=x?L?st:ot:L?nt:it;y[D]>w[D]&&(I=Wt(I));var N=Wt(I),j=[];if(o&&j.push(S[k]<=0),a&&j.push(S[I]<=0,S[N]<=0),j.every((function(t){return t}))){T=C,A=!1;break}E.set(C,j)}if(A)for(var M=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},P=p?3:1;P>0&&"break"!==M(P);P--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function te(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ee(t){return[it,st,nt,ot].some((function(e){return t[e]>=0}))}var ie={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Gt(e,{elementContext:"reference"}),a=Gt(e,{altBoundary:!0}),l=te(r,n),c=te(a,s,o),h=ee(l),d=ee(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},ne={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=gt(t),s=[ot,it].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[ot,st].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},se={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Qt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},oe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=Gt(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=gt(e.placement),b=Yt(e.placement),v=!b,y=Ct(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?it:ot,L="y"===y?nt:st,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],I=E[y]-g[L],N=f?-T[x]/2:0,j="start"===b?A[x]:T[x],M="start"===b?-T[x]:-A[x],P=e.elements.arrow,H=f&&P?bt(P):{width:0,height:0},R=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},B=R[k],W=R[L],q=Dt(0,A[x],H[x]),z=v?A[x]/2-N-q-B-O:j-q-B-O,$=v?-A[x]/2+N+q+W+O:M+q+W+O,U=e.elements.arrow&&Ot(e.elements.arrow),F=U?"y"===y?U.clientTop||0:U.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-F,X=E[y]+$-V;if(o){var Y=Dt(f?Lt(S,K):S,D,f?kt(I,X):I);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?it:ot,G="x"===y?nt:st,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=Dt(f?Lt(J,K):J,Z,f?kt(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function re(t,e,i){void 0===i&&(i=!1);var n,s,o=Et(e),r=_t(t),a=ft(e),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!i)&&(("body"!==ht(e)||Ft(o))&&(l=(n=e)!==dt(n)&&ft(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:$t(n)),ft(e)?((c=_t(e)).x+=e.clientLeft,c.y+=e.clientTop):o&&(c.x=Ut(o))),{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}var ae={placement:"bottom",modifiers:[],strategy:"absolute"};function le(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function ce(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?ae:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},ae,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){d(),a.options=Object.assign({},o,a.options,i),a.scrollParents={reference:ut(t)?Vt(t):t.contextElement?Vt(t.contextElement):[],popper:Vt(e)};var s,r,c=function(t){var e=function(t){var e=new Map,i=new Set,n=[];return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||function t(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach((function(n){if(!i.has(n)){var s=e.get(n);s&&t(s)}})),n.push(s)}(t)})),n}(t);return ct.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((s=[].concat(n,a.options.modifiers),r=s.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(r).map((function(t){return r[t]}))));return a.orderedModifiers=c.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(le(e,i)){a.rects={reference:re(e,Ot(i),"fixed"===a.options.strategy),popper:bt(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!le(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var he=ce(),de=ce({defaultModifiers:[Rt,se,Pt,mt]}),ue=ce({defaultModifiers:[Rt,se,Pt,mt,ne,Jt,oe,Nt,ie]}),fe=Object.freeze({__proto__:null,popperGenerator:ce,detectOverflow:Gt,createPopperBase:he,createPopper:ue,createPopperLite:de,top:it,bottom:nt,right:st,left:ot,auto:"auto",basePlacements:rt,start:"start",end:"end",clippingParents:"clippingParents",viewport:"viewport",popper:"popper",reference:"reference",variationPlacements:at,placements:lt,beforeRead:"beforeRead",read:"read",afterRead:"afterRead",beforeMain:"beforeMain",main:"main",afterMain:"afterMain",beforeWrite:"beforeWrite",write:"write",afterWrite:"afterWrite",modifierPhases:ct,applyStyles:mt,arrow:Nt,computeStyles:Pt,eventListeners:Rt,flip:Jt,hide:ie,offset:ne,popperOffsets:se,preventOverflow:oe});const pe=new RegExp("ArrowUp|ArrowDown|Escape"),me=g()?"top-end":"top-start",ge=g()?"top-start":"top-end",_e=g()?"bottom-end":"bottom-start",be=g()?"bottom-start":"bottom-end",ve=g()?"left-start":"right-start",ye=g()?"right-start":"left-start",we={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},Ee={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class Ae extends B{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}static get Default(){return we}static get DefaultType(){return Ee}static get NAME(){return"dropdown"}toggle(){h(this._element)||(this._element.classList.contains("show")?this.hide():this.show())}show(){if(h(this._element)||this._menu.classList.contains("show"))return;const t=Ae.getParentFromElement(this._element),e={relatedTarget:this._element};if(!P.trigger(this._element,"show.bs.dropdown",e).defaultPrevented){if(this._inNavbar)U.setDataAttribute(this._menu,"popper","none");else{if(void 0===fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:r(this._config.reference)?e=a(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find(t=>"applyStyles"===t.name&&!1===t.enabled);this._popper=ue(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>P.on(t,"mouseover",u)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),P.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(h(this._element)||!this._menu.classList.contains("show"))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){P.on(this._element,"click.bs.dropdown",t=>{t.preventDefault(),this.toggle()})}_completeHide(t){P.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),P.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},l("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!r(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_getMenuElement(){return t.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ve;if(t.classList.contains("dropstart"))return ye;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ge:me:e?be:_e}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:e,target:i}){const n=t.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(c);n.length&&y(n,i,"ArrowDown"===e,!n.includes(i)).focus()}static dropdownInterface(t,e){const i=Ae.getOrCreateInstance(t,e);if("string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){Ae.dropdownInterface(this,t)}))}static clearMenus(e){if(e&&(2===e.button||"keyup"===e.type&&"Tab"!==e.key))return;const i=t.find('[data-bs-toggle="dropdown"]');for(let t=0,n=i.length;t<n;t++){const n=Ae.getInstance(i[t]);if(!n||!1===n._config.autoClose)continue;if(!n._element.classList.contains("show"))continue;const s={relatedTarget:n._element};if(e){const t=e.composedPath(),i=t.includes(n._menu);if(t.includes(n._element)||"inside"===n._config.autoClose&&!i||"outside"===n._config.autoClose&&i)continue;if(n._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;"click"===e.type&&(s.clickEvent=e)}n._completeHide(s)}}static getParentFromElement(t){return s(t)||t.parentNode}static dataApiKeydownHandler(e){if(/input|textarea/i.test(e.target.tagName)?"Space"===e.key||"Escape"!==e.key&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key||e.target.closest(".dropdown-menu")):!pe.test(e.key))return;const i=this.classList.contains("show");if(!i&&"Escape"===e.key)return;if(e.preventDefault(),e.stopPropagation(),h(this))return;const n=()=>this.matches('[data-bs-toggle="dropdown"]')?this:t.prev(this,'[data-bs-toggle="dropdown"]')[0];return"Escape"===e.key?(n().focus(),void Ae.clearMenus()):"ArrowUp"===e.key||"ArrowDown"===e.key?(i||n().click(),void Ae.getInstance(n())._selectMenuItem(e)):void(i&&"Space"!==e.key||Ae.clearMenus())}}P.on(document,"keydown.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',Ae.dataApiKeydownHandler),P.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",Ae.dataApiKeydownHandler),P.on(document,"click.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"click.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',(function(t){t.preventDefault(),Ae.dropdownInterface(this)})),_(Ae);class Te{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",e=>e+t),this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",e=>e+t),this._setElementAttributes(".sticky-top","marginRight",e=>e-t)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=i(Number.parseFloat(s))+"px"})}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)})}_applyManipulationCallback(e,i){r(e)?i(e):t.find(e,this._element).forEach(i)}isOverflowing(){return this.getWidth()>0}}const Oe={isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},Ce={isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"};class ke{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&f(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{b(t)})):b(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),b(t)})):b(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className="modal-backdrop",this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...Oe,..."object"==typeof t?t:{}}).rootElement=a(t.rootElement),l("backdrop",t,Ce),t}_append(){this._isAppended||(this._config.rootElement.appendChild(this._getElement()),P.on(this._getElement(),"mousedown.bs.backdrop",()=>{b(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(P.off(this._element,"mousedown.bs.backdrop"),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){v(t,this._getElement(),this._config.isAnimated)}}const Le={backdrop:!0,keyboard:!0,focus:!0},xe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class De extends B{constructor(e,i){super(e),this._config=this._getConfig(i),this._dialog=t.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new Te}static get Default(){return Le}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,"show.bs.modal",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),P.on(this._element,"click.dismiss.bs.modal",'[data-bs-dismiss="modal"]',t=>this.hide(t)),P.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{P.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(t){if(t&&["A","AREA"].includes(t.target.tagName)&&t.preventDefault(),!this._isShown||this._isTransitioning)return;if(P.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),P.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),P.off(this._element,"click.dismiss.bs.modal"),P.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,e)}dispose(){[window,this._dialog].forEach(t=>P.off(t,".bs.modal")),this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.modal")}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ke({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_getConfig(t){return t={...Le,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("modal",t,xe),t}_showElement(e){const i=this._isAnimated(),n=t.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,n&&(n.scrollTop=0),i&&f(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus(),this._queueCallback(()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:e})},this._dialog,i)}_enforceFocus(){P.off(document,"focusin.bs.modal"),P.on(document,"focusin.bs.modal",t=>{document===t.target||this._element===t.target||this._element.contains(t.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?P.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):P.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?P.on(window,"resize.bs.modal",()=>this._adjustDialog()):P.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(t){P.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains("modal-static")||(n||(i.overflowY="hidden"),t.add("modal-static"),this._queueCallback(()=>{t.remove("modal-static"),n||this._queueCallback(()=>{i.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!g()||i&&!t&&g())&&(this._element.style.paddingLeft=e+"px"),(i&&!t&&!g()||!i&&t&&g())&&(this._element.style.paddingRight=e+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=De.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=s(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,"show.bs.modal",t=>{t.defaultPrevented||P.one(e,"hidden.bs.modal",()=>{c(this)&&this.focus()})}),De.getOrCreateInstance(e).toggle(this)})),_(De);const Se={backdrop:!0,keyboard:!0,scroll:!1},Ie={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Ne extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return Se}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||((new Te).hide(),this._enforceFocusOnElement(this._element)),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(P.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new Te).reset(),P.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.offcanvas")}_getConfig(t){return t={...Se,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("offcanvas",t,Ie),t}_initializeBackDrop(){return new ke({isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_enforceFocusOnElement(t){P.off(document,"focusin.bs.offcanvas"),P.on(document,"focusin.bs.offcanvas",e=>{document===e.target||t===e.target||t.contains(e.target)||t.focus()}),t.focus()}_addEventListeners(){P.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),P.on(this._element,"keydown.dismiss.bs.offcanvas",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()})}static jQueryInterface(t){return this.each((function(){const e=Ne.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(e){const i=s(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),h(this))return;P.one(i,"hidden.bs.offcanvas",()=>{c(this)&&this.focus()});const n=t.findOne(".offcanvas.show");n&&n!==i&&Ne.getInstance(n).hide(),Ne.getOrCreateInstance(i).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",()=>t.find(".offcanvas.show").forEach(t=>Ne.getOrCreateInstance(t).show())),_(Ne);const je=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Me=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,Pe=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,He=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!je.has(i)||Boolean(Me.test(t.nodeValue)||Pe.test(t.nodeValue));const n=e.filter(t=>t instanceof RegExp);for(let t=0,e=n.length;t<e;t++)if(n[t].test(i))return!0;return!1};function Re(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(e),o=[].concat(...n.body.querySelectorAll("*"));for(let t=0,i=o.length;t<i;t++){const i=o[t],n=i.nodeName.toLowerCase();if(!s.includes(n)){i.remove();continue}const r=[].concat(...i.attributes),a=[].concat(e["*"]||[],e[n]||[]);r.forEach(t=>{He(t,a)||i.removeAttribute(t.nodeName)})}return n.body.innerHTML}const Be=new RegExp("(^|\\s)bs-tooltip\\S+","g"),We=new Set(["sanitize","allowList","sanitizeFn"]),qe={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},ze={AUTO:"auto",TOP:"top",RIGHT:g()?"left":"right",BOTTOM:"bottom",LEFT:g()?"right":"left"},$e={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Ue={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Fe extends B{constructor(t,e){if(void 0===fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return $e}static get NAME(){return"tooltip"}static get Event(){return Ue}static get DefaultType(){return qe}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),this._popper&&this._popper.destroy(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.Event.SHOW),i=d(this._element),n=null===i?this._element.ownerDocument.documentElement.contains(this._element):i.contains(this._element);if(t.defaultPrevented||!n)return;const s=this.getTipElement(),o=e(this.constructor.NAME);s.setAttribute("id",o),this._element.setAttribute("aria-describedby",o),this.setContent(),this._config.animation&&s.classList.add("fade");const r="function"==typeof this._config.placement?this._config.placement.call(this,s,this._element):this._config.placement,a=this._getAttachment(r);this._addAttachmentClass(a);const{container:l}=this._config;R.set(s,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.appendChild(s),P.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=ue(this._element,s,this._getPopperConfig(a)),s.classList.add("show");const c="function"==typeof this._config.customClass?this._config.customClass():this._config.customClass;c&&s.classList.add(...c.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{P.on(t,"mouseover",u)});const h=this.tip.classList.contains("fade");this._queueCallback(()=>{const t=this._hoverState;this._hoverState=null,P.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)},this.tip,h)}hide(){if(!this._popper)return;const t=this.getTipElement();if(P.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))},this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");return t.innerHTML=this._config.template,this.tip=t.children[0],this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".tooltip-inner",e),this.getTitle()),e.classList.remove("fade","show")}setElementContent(t,e){if(null!==t)return r(e)?(e=a(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Re(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){let t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this._config.title?this._config.title.call(this._element):this._config.title),t}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){const i=this.constructor.DATA_KEY;return(e=e||R.get(t.delegateTarget,i))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),R.set(t.delegateTarget,i,e)),e}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))}_getAttachment(t){return ze[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(t=>{if("click"===t)P.on(this._element,this.constructor.Event.CLICK,this._config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;P.on(this._element,e,this._config.selector,t=>this._enter(t)),P.on(this._element,i,this._config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e._config.delay&&e._config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e._config.delay&&e._config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{We.has(t)&&delete e[t]}),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:a(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=Re(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};if(this._config)for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Be);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){const e=Fe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Fe);const Ve=new RegExp("(^|\\s)bs-popover\\S+","g"),Ke={...Fe.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'},Xe={...Fe.DefaultType,content:"(string|element|function)"},Ye={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Qe extends Fe{static get Default(){return Ke}static get NAME(){return"popover"}static get Event(){return Ye}static get DefaultType(){return Xe}isWithContent(){return this.getTitle()||this._getContent()}getTipElement(){return this.tip||(this.tip=super.getTipElement(),this.getTitle()||t.findOne(".popover-header",this.tip).remove(),this._getContent()||t.findOne(".popover-body",this.tip).remove()),this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".popover-header",e),this.getTitle());let i=this._getContent();"function"==typeof i&&(i=i.call(this._element)),this.setElementContent(t.findOne(".popover-body",e),i),e.classList.remove("fade","show")}_addAttachmentClass(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))}_getContent(){return this._element.getAttribute("data-bs-content")||this._config.content}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Ve);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}static jQueryInterface(t){return this.each((function(){const e=Qe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Qe);const Ge={offset:10,method:"auto",target:""},Ze={offset:"number",method:"string",target:"(string|element)"};class Je extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._selector=`${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,P.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return Ge}static get NAME(){return"scrollspy"}refresh(){const e=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?e:this._config.method,s="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.find(this._selector).map(e=>{const o=n(e),r=o?t.findOne(o):null;if(r){const t=r.getBoundingClientRect();if(t.width||t.height)return[U[i](r).top+s,o]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){P.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){if("string"!=typeof(t={...Ge,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target&&r(t.target)){let{id:i}=t.target;i||(i=e("scrollspy"),t.target.id=i),t.target="#"+i}return l("scrollspy",t,Ze),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t<this._offsets[e+1])&&this._activate(this._targets[e])}}_activate(e){this._activeTarget=e,this._clear();const i=this._selector.split(",").map(t=>`${t}[data-bs-target="${e}"],${t}[href="${e}"]`),n=t.findOne(i.join(","));n.classList.contains("dropdown-item")?(t.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),t.parents(n,".nav, .list-group").forEach(e=>{t.prev(e,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),t.prev(e,".nav-item").forEach(e=>{t.children(e,".nav-link").forEach(t=>t.classList.add("active"))})})),P.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:e})}_clear(){t.find(this._selector).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){const e=Je.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",()=>{t.find('[data-bs-spy="scroll"]').forEach(t=>new Je(t))}),_(Je);class ti extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let e;const i=s(this._element),n=this._element.closest(".nav, .list-group");if(n){const i="UL"===n.nodeName||"OL"===n.nodeName?":scope > li > .active":".active";e=t.find(i,n),e=e[e.length-1]}const o=e?P.trigger(e,"hide.bs.tab",{relatedTarget:this._element}):null;if(P.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==o&&o.defaultPrevented)return;this._activate(this._element,n);const r=()=>{P.trigger(e,"hidden.bs.tab",{relatedTarget:this._element}),P.trigger(this._element,"shown.bs.tab",{relatedTarget:e})};i?this._activate(i,i.parentNode,r):r()}_activate(e,i,n){const s=(!i||"UL"!==i.nodeName&&"OL"!==i.nodeName?t.children(i,".active"):t.find(":scope > li > .active",i))[0],o=n&&s&&s.classList.contains("fade"),r=()=>this._transitionComplete(e,s,n);s&&o?(s.classList.remove("show"),this._queueCallback(r,e,!0)):r()}_transitionComplete(e,i,n){if(i){i.classList.remove("active");const e=t.findOne(":scope > .dropdown-menu .active",i.parentNode);e&&e.classList.remove("active"),"tab"===i.getAttribute("role")&&i.setAttribute("aria-selected",!1)}e.classList.add("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),f(e),e.classList.contains("fade")&&e.classList.add("show");let s=e.parentNode;if(s&&"LI"===s.nodeName&&(s=s.parentNode),s&&s.classList.contains("dropdown-menu")){const i=e.closest(".dropdown");i&&t.find(".dropdown-toggle",i).forEach(t=>t.classList.add("active")),e.setAttribute("aria-expanded",!0)}n&&n()}static jQueryInterface(t){return this.each((function(){const e=ti.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),h(this)||ti.getOrCreateInstance(this).show()})),_(ti);const ei={animation:"boolean",autohide:"boolean",delay:"number"},ii={animation:!0,autohide:!0,delay:5e3};class ni extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return ei}static get Default(){return ii}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),f(this._element),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),this._element.classList.add("show"),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.remove("show"),this._queueCallback(()=>{this._element.classList.add("hide"),P.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(t){return t={...ii,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},l("toast",t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',()=>this.hide()),P.on(this._element,"mouseover.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"mouseout.bs.toast",t=>this._onInteraction(t,!1)),P.on(this._element,"focusin.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"focusout.bs.toast",t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return _(ni),{Alert:W,Button:q,Carousel:Z,Collapse:et,Dropdown:Ae,Modal:De,Offcanvas:Ne,Popover:Qe,ScrollSpy:Je,Tab:ti,Toast:ni,Tooltip:Fe}}));
+//# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file
diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
new file mode 100755
index 000000000..9e4830aff
--- /dev/null
+++ b/nginx/landingpage/index.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+    <title>Malcolm</title>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link href="assets/css/bootstrap.min.css" rel="stylesheet">
+    <script src="assets/js/bootstrap.bundle.min.js"></script>
+    <style>
+        .imgcenter {
+            width: 50%;
+        }
+        .center {
+            display: block;
+            margin-left: auto;
+            margin-right: auto;
+        }
+        .card {
+        /* position: relative; */
+        width: 50%;
+        }
+        .image {
+        opacity: 1;
+        display: block;
+        width: 100%;
+        height: auto;
+        transition: .5s ease;
+        backface-visibility: hidden;
+        }
+
+        .middle {
+        transition: .5s ease;
+        opacity: 0;
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        transform: translate(-50%, -50%);
+        -ms-transform: translate(-50%, -50%);
+        text-align: center;
+        }
+
+        .card:hover .image {
+        opacity: 0.3;
+        }
+
+        .card:hover .middle {
+        opacity: 1;
+        }
+    </style>
+    </head>
+
+    <body class="bg-dark">
+        <br />
+        <div>
+            <img class="imgcenter center" src="assets/imgs/Malcolm_banner_white.png" alt="%SITE_NAME%"> 
+        </div>
+
+        <br />
+
+        <!-- Internal Links -->
+        <div class="container">
+            <h3 style="color:white">Internal Links</h3>
+            <div class="card-group">
+                <div class="card bg-dark">
+                    <img src="assets/imgs/Arkime_Logo_FullGradientWhite_Square.png" alt="Arkime" class="image" style="width:100%">
+                    <div class="middle">
+                        <a href="https://localhost/sessions/" class="btn btn-primary" target="_blank">Arkime</a>
+                    </div>
+                </div>
+                <div class="card bg-dark">
+                    <img src="assets/imgs/icon.png" alt="Upload" class="image" style="width:100%">
+                    <div class="middle">
+                        <a href="https://localhost/upload/" class="btn btn-primary" target="_blank">Upload</a>
+                    </div>
+                </div>
+                <div class="card bg-dark">
+                    <img src="assets/imgs/markdown.png" alt="ReadMe" class="image" style="width:100%">
+                    <div class="middle">
+                        <a href="https://localhost/readme/" class="btn btn-primary" target="_blank">ReadMe</a>
+                    </div>
+                </div>
+                <div class="card bg-dark">
+                    <img src="assets/imgs/opensearch.png" alt="Opensearch" class="image" style="width:100%">
+                    <div class="middle">
+                        <a href="https://localhost/dashboards/" class="btn btn-primary" target="_blank">Opensearch</a>
+                    </div>
+                </div>
+            </div>
+            <div class="card-group">
+                <div class="card bg-dark">
+                    <img src="assets/imgs/netbox_icon.svg" alt="NetBox" class="image" style="width:100%">
+                    <div class="middle">
+                        <a href="https://localhost/netbox/" class="btn btn-primary" target="_blank">Netbox</a>
+                    </div>
+                </div>
+                <div class="card bg-dark">
+                    <img src="assets/imgs/lock.png" alt="Auth" class="image" style="width:100%">
+                    <div class="middle">
+                        <a href="https://localhost/auth/" class="btn btn-primary" target="_blank">Admin Access</a>
+                    </div>                
+                </div>
+                <div class="card bg-dark">
+                    <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%">
+                    <div class="middle">
+                        <a href="https://localhost/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a>
+                    </div>                
+                </div>
+                <div class="card bg-dark">    
+                    <img src="assets/imgs/api.png" alt="API" class="image" style="width:100%">
+                    <div class="middle">
+                        <a href="https://localhost/mapi/" class="btn btn-primary" target="_blank">API</a>
+                    </div>             
+                </div>
+            </div>
+        </div>
+        <br />
+
+        <div class="container">
+            <h3 style="color:white">External Links</h3>
+            <div class="card-group">
+                <div class="card bg-dark">
+                    <img src="assets/imgs/github-mark-white.svg" alt="Auth" class="image" style="width:100%">
+                    <div class="middle">
+                        <a href="https://github.com/cisagov/Malcolm" class="btn btn-primary" target="_blank">GitHub</a>
+                    </div>                
+                </div>
+                <div class="card bg-dark">             
+                </div>
+                <div class="card bg-dark">             
+                </div>
+                <div class="card bg-dark">             
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/nginx/nginx.conf b/nginx/nginx.conf
index e6c109bcd..ec6ea9112 100644
--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -282,7 +282,7 @@ http {
     }
 
     # Arkime
-    location / {
+    location /sessions {
       include /etc/nginx/nginx_auth_rt.conf;
       proxy_pass https://arkime;
       proxy_ssl_verify off;
@@ -291,6 +291,13 @@ http {
       proxy_set_header http_auth_http_user $authenticated_user;
       proxy_set_header Authorization "";
     }
+
+    # Landing Page
+    location / {
+      include /etc/nginx/nginx_auth_rt.conf;
+      root /usr/share/nginx/landing;
+      try_files $uri $uri/index.html;
+    }
   }
 
   # OpenSearch API
diff --git a/nginx/nginx_readonly.conf b/nginx/nginx_readonly.conf
index 4bb3705fc..5edd50341 100644
--- a/nginx/nginx_readonly.conf
+++ b/nginx/nginx_readonly.conf
@@ -201,7 +201,7 @@ http {
       deny all;
     }
 
-    location / {
+    location /sessions {
       limit_except GET POST { deny  all; }
       proxy_pass https://arkime;
       proxy_ssl_verify off;
@@ -210,6 +210,19 @@ http {
       proxy_set_header http_auth_http_user $authenticated_user;
       proxy_set_header Authorization "";
     }
+
+    # Landing Page
+    location / {
+      include /etc/nginx/nginx_auth_rt.conf;
+      root /usr/share/nginx/html/;
+      try_files $uri $uri/index.html;
+      proxy_pass https://landing;
+      proxy_ssl_verify off;
+      proxy_redirect off;
+      proxy_set_header Host arkime.malcolm.local;
+      proxy_set_header http_auth_http_user $authenticated_user;
+      proxy_set_header Authorization "";
+    }
   }
 
 }
diff --git a/scripts/control.py b/scripts/control.py
index 3b90076a2..6edc27f47 100755
--- a/scripts/control.py
+++ b/scripts/control.py
@@ -457,7 +457,8 @@ def printURLs():
 
     print("\nMalcolm services can be accessed via the following URLs:")
     print("------------------------------------------------------------------------------")
-    print(f"  - Arkime: https://{myIp}/")
+    print(f"  - Landing Page: https://{myIp}/")
+    print(f"  - Arkime: https://{myIp}/sessions/")
     print(f"  - OpenSearch Dashboards: https://{myIp}/dashboards/")
     print(f"  - PCAP upload (web): https://{myIp}/upload/")
     if orchMode is not OrchestrationFramework.KUBERNETES:

From fde311230241d18d31c95acbe47cbd7b0a377917 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 13:42:02 -0700
Subject: [PATCH 08/88] landingpage work in progress (idaholab/Malcolm#252)

---
 Dockerfiles/nginx.Dockerfile                  |  23 ++-
 file-upload/site/index.html                   |   2 +-
 .../Arkime_Logo_FullGradientWhite_Square.png  | Bin 45103 -> 0 bytes
 .../assets/imgs/Malcolm_banner.png            | Bin 45303 -> 0 bytes
 .../assets/imgs/Malcolm_banner_white.png      | Bin 45426 -> 0 bytes
 nginx/landingpage/assets/imgs/cyberchef.svg   | 146 ------------------
 .../assets/imgs/github-mark-white.svg         |   1 -
 nginx/landingpage/assets/imgs/icon.png        | Bin 89100 -> 0 bytes
 nginx/landingpage/assets/imgs/netbox_icon.svg |  20 ---
 nginx/landingpage/assets/imgs/opensearch.png  | Bin 10327 -> 0 bytes
 nginx/landingpage/index.html                  |  24 +--
 11 files changed, 34 insertions(+), 182 deletions(-)
 delete mode 100644 nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png
 delete mode 100755 nginx/landingpage/assets/imgs/Malcolm_banner.png
 delete mode 100644 nginx/landingpage/assets/imgs/Malcolm_banner_white.png
 delete mode 100644 nginx/landingpage/assets/imgs/cyberchef.svg
 delete mode 100644 nginx/landingpage/assets/imgs/github-mark-white.svg
 delete mode 100755 nginx/landingpage/assets/imgs/icon.png
 delete mode 100755 nginx/landingpage/assets/imgs/netbox_icon.svg
 delete mode 100755 nginx/landingpage/assets/imgs/opensearch.png
 mode change 100755 => 100644 nginx/landingpage/index.html

diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index d59b6a22f..34c04c258 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -91,10 +91,21 @@ ENV NGINX_VERSION=1.22.1
 ENV NGINX_AUTH_LDAP_BRANCH=master
 ENV NGINX_HTTP_SUB_FILTER_BRANCH=master
 
+# NGINX source
 ADD https://codeload.github.com/mmguero-dev/nginx-auth-ldap/tar.gz/$NGINX_AUTH_LDAP_BRANCH /nginx-auth-ldap.tar.gz
 ADD https://codeload.github.com/yaoweibin/ngx_http_substitutions_filter_module/tar.gz/$NGINX_HTTP_SUB_FILTER_BRANCH /ngx_http_substitutions_filter_module-master.tar.gz
 ADD http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz /nginx.tar.gz
 
+# component icons from original sources
+ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/landingpage/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/landingpage/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/landingpage/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/landingpage/assets/imgs/
+ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/landingpage/assets/imgs/
+ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/landingpage/assets/imgs/
+ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/landingpage/assets/imgs/
+ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/
+
 RUN set -x ; \
     CONFIG="\
     --prefix=/etc/nginx \
@@ -214,15 +225,23 @@ RUN set -x ; \
   apk del .gettext ; \
   mv /tmp/envsubst /usr/local/bin/ ; \
   rm -rf /usr/src/* /var/tmp/* /var/cache/apk/* /nginx.tar.gz /nginx-auth-ldap.tar.gz /ngx_http_substitutions_filter_module-master.tar.gz; \
-  touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf;
+  touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf; \
+  cd /tmp; \
+    unzip ./GitHub-Mark.zip; \
+    mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/html/landingpage/assets/imgs/; \
+    rm -rf ./GitHub-Mark.zip ./GitHub-Mark; \
+  chmod 644 /usr/share/nginx/html/landingpage/assets/imgs/*.*;
 
 COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/
 COPY --from=docbuild /site/_site /usr/share/nginx/html/readme
 
-RUN mkdir -p /usr/share/nginx/html/landingpage
 COPY nginx/landingpage /usr/share/nginx/html/landingpage
+COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/html/landingpage/assets/imgs/
+COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/html/landingpage/assets/imgs/
+COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/html/landingpage/assets/imgs/
+COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/html/landingpage/assets/imgs/
 COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 ADD nginx/scripts /usr/local/bin/
 ADD nginx/*.conf /etc/nginx/
diff --git a/file-upload/site/index.html b/file-upload/site/index.html
index a44a049d4..bb58d4a07 100644
--- a/file-upload/site/index.html
+++ b/file-upload/site/index.html
@@ -58,7 +58,7 @@
     </style>
 </head>
 <body>
-    <img class="center imgcenter" src="upload/Malcolm_banner.png" alt="%SITE_NAME%">
+    <img class="center imgcenter" src="upload/Malcolm_banner.png">
     <h1 class="panel-title">Network Traffic Artifact Upload</h1>
 
     <form id="commit_files" action="server/php/submit.php" method="post" enctype="multipart/form-data">
diff --git a/nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png b/nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png
deleted file mode 100644
index dd6f62d629549475cc4a5f57f6ee6fabe278616c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 45103
zcmd42byQr>vM4<G;O;&U+%33!umHiGV8PveaCZ{i0wlP*yIXK~ch^UL=iGbGy6e5~
z?{C)H)3vKhx^`DfwS*}tNFgH-AOHXWWEp93WdH!8>+b`EeaCp=4NANx&}Jg?A^<>T
z4C1pP%=<f;v9z*00N_Cd0Qi9cfX8=~-#!4~%mM%$8UO&isQ>`3U3$}J{`ZVn6Ac+t
zd3gZcI}8NCLcju`-XRD8<oh4SzhQ`Xm;mrs@;d}jgCP8GSPz2cf9OLj0MP%YF?~<}
z{-ocZzdZj+p|T<VM`AYQe^EnpWkdZB{FluuK@sIWfwz;^bOZnpG5<agfFJ320088+
zg{p>=hP)iFv8^?e;a6KD6DBunyT4ojemCBC(Avbwkj%~6%Epn`O#t){1@Alj7tIVJ
z`-jBIQUIhOuS6zh>tI60$;83L0un?ZBO~K?_-e|lEH3$P_V+gdkhznS9WOJptE(%M
zD?5{|gBdd`4-XGB3mY>V8{<0#qoccxlc5`<jU&asg#4EraT7;l2MaqV3tJnqzj6(Y
zY@MA1K%l>h{`>c@aynU<{*NXb$A6pkZXomD9A;J~7UusOn~9sn|AXys&cE3HvFl&z
z`2PyyRWi4AvVH#;4i?5THcloEb`I|!=5HYd+4%oa_y0lhKSlqSEJX(klXv6);b#3e
z_kZI4H@%px^}9Mp$G_VCi~c`x|C?Uf#L?Eu`LFmdHWp6*UBLf^{tvFdcJnG(xS3dK
zid$Hl*!-i3gM){k`Tv^pzd6Nht!y1s><o=f{ub{amj6KgZ|Z;aX#79*{725eIr*9Y
z`oVwr#lM{HAMCr=2_o<_|F;JVA`}S_x&Z*f02y%+RX2!ZT{u4-iH9tATi5b@Oi1t#
zVL%)xJW3CSHitmm0)jT&FIN~Nz9U{17#`q<1z|y#1C$X~B6C8g4Y;RHM3aUDUpq85
zuXx+Owy(8#dwLF@uAW*quGC+BSZfvB`DnX$*Y@4k6wG3T#sb8HMuLQe2=o)_AT#*?
z)2j#2pPlqUj5H_lIA>qJ2G;*jWc?hGpl86`_=d8`iT1OsM7DeZ;w1Ph+CZdV(u31Y
zCb4@zaTK}dLD1ev)6}!@uliKEAv&-yP0OJFE!)vPf`s~k`K=iE4S=r@bP9p|g%^UV
z?NK;;H<X2A|0=@}k!0Dx_Nx!p%|-MN9aAwff?A!Nw!HjWvpVf>&t6bdZ(sJ!_p2xN
zM1oU9T!UtHR)Vexi<P0jotjkT*VZRqb|lXxNBzc9Nni*RHbHY6U4?ytYDOsL5&?@G
z(<u$$CQTteGVY7-M@$ro1mlXdgS{zW{d3WZctEP6r__wJC84e3Ja270I;y9m-LU>z
zk{uX)jiRT)r<eXlZce|o#$+=ss28fo4xvn{4>%`$1CX-(UZHuR`z4VeVJMUw#Y0hh
zR=$7wu$(7$C1^Yyh8`%a3o@Xs46)j8E&ebgOipnl3_jR7PB0Qm=ZE$XxaN%A$eUo#
z*8aI>b&Cwyh*m@kdLAq(hKl_jm5A6p5ieDa_%U^NQm4SO3<lSK12ZH5-UZi2v_TXJ
zd#HGiN_5tk%ZXw?ZbCcz4HkbDRREqB__r*Y=<k9OrzEmMt1gTX`G^ogx^K@BNt(wr
zf;1!Mbbxe_b$0E+W7Vx-OkCwfs7c8xXQeAGgEo!A$v7L8efS9>QJHX8;h4aw01hLx
zeXy`Rx}hleR?Ii_6xRv!Jf*s)c(~U=44e@@Lo@>gd5*Or1}5ObEQ8Vxy=nVu85TDN
ztni5tUa;~axE7?5xuDw5nONoKGD4dm9_NIH;_cp`?uMqH!_KkWCq%Z663errD9@2g
z%_o2k7bSCA1`B)$Mzg^9Ds4_KQutuNJ(5}$Ff#D?5|-{}z_-6J(JrbFgRh6ULi(-m
z15~U>(jo}$lTBcNk-i_!oc)FX9rKgjxZduETM^c!4vO`r*;UcSwPSIx=(SWIGP;ZI
zBc;SFc?r7<SP$ThBzvZUvb=`*tz{BIT0q7cJqJTfiMyDi8D2_b<2-Bw$1JrH;pm{Y
zbgd;gCZnbK!=Jc)JZRu68lP1GG<q-+I?nC4`~3OHewQFUByWsIwgEdxCs*@dZJq8E
z5E9w52;XrG3puL8W)KF41y_vi$o906_C3w2{>VcoI-vLuUqgg@2ewsMsM1`c(}{rv
zse)`}!jG*?+R4qT@u9qv5!hO=nlNvppt1ZF@|B_7w}%&HYQEsXXB5p;1?G;6KY$2X
zfzTNK6P1{#9VN1b7M4m0Sy}REIT*n}Z|?B5D!s3|Q@BmIPHfj7V#(o7vrt!X`XwR3
z!lP&#?$y+1OhF^kPRI04VDC}t-)VCChJJbq2}vB#k~)7-9gj2fj|a+%+d6B8J=70w
zr*6i7Y;B^Q%fxwCgb4d0d&7L?#`HjOir5VJsHhGFi62%#fKlf|kWXBf82F1U&}}sD
zHo5|(KiZ3mp!KT5TswGaq?ibJe0?<-xDvY9r40WOEBu%o%!f7`k_Y}n!%&OpcNWn`
z`yruBmI0U?EZCFWua{Sgw3O_oi{J{MS<gzSM|k=~Dp)ZG)^$BdXEhcah(mIuMTB$#
zxo`_YD{cZFk$b992$g_8Jq@7jWIY1%rA;ueHzv-6%c1exLQljd3eU%w`(~x1$d%Z|
z=dsJIK(%7GG?lsbI7DW80Y+WO6bC>n*U1?}Wp2J43v0{b9-Ao)!tUUE94El{k*;#Q
zRjKr1=;mw|Mi%yt;FkOY6x@q+oYqbYy-Vh!Qa`??9%uvZanW^2tuk2yriz!c@8OR+
z44nrLKr=y8se9-I$`<3L*{2t^nsxySf++W#w01#AJf=z^VZy-jSfB5uA{<e{1Rh~-
zOS7-+rrIvh_sG&a9WTZ?>650k()K8IF~WQ6AFHvnDLDOv4MJlzs>4(lF2jP>mP2hO
z5iJ34Rh0JiDus7iE6v{O_{q)w!MELq(CI#wp~^PwKI!Wpy#8#G{!%20o#kb));p%;
z&q;EnzN`Fw$G4Koe_pomS}G`VNjLr(ZBI?Mh*6}%vyp|Jk$eT3Dn?f@yOa06src$*
zBrUmMRUC57;VC%F`?BVfRtxpfneBAw{%jcdnYQiH1ycdmav}u0zUkO2#IY1kE<EC`
z{FVJcMrq8v8ZZAItB$hQ?7Uh#qBM?9f=o#~6c_bRla-56sbZ$9?{(V8OuW*F6x(T1
z#Wl*Wy?0_u7jx@k&1<ssw<a1+QF!Lov|)-+s&NK<YdxP@!}V%qc7N4$4CU(rpQg(j
zoweM^dQs-B;A{lPYQdJJ@}b=}=}mw+eQ4+LIJM*A{_*J9eyOog^B(&W$GAK6GAQQB
zOqyS^?F58<d+i`Xz2Y`@Ir<~jL#~PG93ej@>3C3@qJGb?ZIcZ^oKq${G`8aqzENye
z;YfVCG&RI&`$kG<UQgaHg^n>TL%_uM6E9r%Pd>Gxc{B}m!y1FdB8~@VS$ajO9s5tk
zMvTVXa!eS%-#)2QuC}GX(FPlu(WG8c9&ioh*<?P#AJ3=g(3<wEgGoFu;{jTcWSyaw
z`Y7W2eW({h(@W)P?N*wFv$^MmdkLE;^J^#`1WqK<7q;`S*pGD5tRdfH_##!I{X5Xf
zKdYF7dJ$cw7H`!!FQfOryJmiV8e`XvzIRq>nQIdJDjh9ez1cQkV%t<kmPH<$by{Y;
z`f!ApO_l}%x3HF54G_cXP4vvObXW-NqN=wBT~%kq3K;KNq<CS0pF?zxyta)?Qc{{I
zMND7Z_a`UvvO`4MkxF~j(=AMOhgrj$g?Xqh`X?I6diyIgf^eU|SVdi<L2_Oxzg*j@
z`!b#u@f2Y+&=h9sRsLpNTD9BCn(fn;8sn~n&0rDsf%2#)iWIEL%E?`W()O?mj-!_c
zQo^u->u*-ceAm{#4Ts-tT*B^EWhw>_k~tF*j~}vBrO(~{?49Nj)FoJ$?qCtwdu1<X
z92c8UD87nqk;>|pe-z~1l12~FGDq?uUWrB>1beM_viFZnqs~o{Y6L_L5uDMve;?x%
z5WUb(ld$j#b*JPFv+OqHSbeo*wOnTA(=EDyLJL}Zn?=+lNB6;%jTtQ$wtNxGERc?<
zz<xwYRB06mSiAPE<Wv@c)~KHWJB0u>{VPs|t2ZKYMSRZ2D41VbaM<|PYh<1}5-_%@
z@1zbr1Ia)|%L~WF^gg?tYvpDjXoRM#YA8hACUcaD{DHQ~J=Vl6#b1n<>ygzyl`V(E
zuYTr5?y<zZ4r#{1;PXm(Hd3y}FtorgI)8$_^r=jv+v^Um7Dk~1uof;wE-eG98sqZa
zpsy__fHldz)V<CFJ!wk33;e-rcb>KB#ac3+e|!HJ#TQ9YO~o9WfhEv&m=bO<hOKt8
z^DS||-lZ%jjzYT%HHt*q8Y+w0hR!^Xjx+}nDsFi>gN&a~(D?P!Q!p?=0}WFxq30JA
zDIB*wQ`OEr!DE_<_Q$uK{LgPa_J3riFD4n2OcbT46hx)!0r(#J_Hq{L;-Qh<#vU-C
zjy0*?4~$<@8rdjmqOb_jpX(+9b0~XlMJxnntIjhD3Z!ihd_`o!eY<VF1?wb-{N4vF
z@++S)<LP97U?YNae}C26WV%I!<KT1)>DxBl$RF<AQ_Q~Q$i=Dlo^=no$8<LMh~GmI
zEXSw9l)0$<>)rFz<L<MhF1*sr?o95Zd|6f`a>?7UcaP(R0(pa=y$98VJkz9`?wQXI
z<Av696gjF*t@miAWgP2TIr4dOL@S2Qk9aP;=u|Q8Q2~r<6+4W0&kQ?^8x1c5D___c
z^5*WSNy2}Q(Vn}ninY(XvGZyA9g$K9W&Ds-5jXb-_RqqgABxJq%Di_dN{w6xY7<cJ
z=6Yw>wxKc0u%hU~c*8%^T-(QP8d*gp0{y>oe$Jg3B0>tagE<7h=2xixM!%)Sk8#g(
zU1%ONF2*pY^M>@HGF$b2{-96EtnM}alrOU;m7kIea1s6x)z*IPBcyhr2QyBrJ6UM`
zeLmVT7|4m!LrIAKIPc!T(}DHMbtqtEYa7b(x-quJq$MLq&lo5v?pd#OYt9k)I`idM
zdvq2vLk$b4$Kys}Q<v=g6RRcv)AvI);qd2!iibq`f;6$az$*9~;eBCqM#Rz{JSY6b
z{DBR;Hvp}gZ?zDH)@WDCPt)z?h3QN&m`YrXNO+l+uY1e!_wkL>cL&BVA^MuX!FheF
zFE6a^imS?T^3$O*YazWK5#;Ki4o|35H&<EA+pBKtrIG2~#K3x$vD+L(%MMbXGI0zs
z`Y9DX!0=@v+~&Mrh8eY&6U<!;-wr~I>2H%(j<&->HWRGaXz-^OXp6%X>q9`sZW4$f
zQF?KZ7nD#$M9;`@rhI_PT^fh-_G7@Y%{<`{z5$BA4P@yT!`eRHNU`pF);FZY(ZcZn
zEDIh2S~P#vB;|ES0f(o?82N7T`psrHL{T1iwBjQ&LFQuOez(P^amF9RGs7DD*YQsZ
zM7?$QRq*g=VFWOXc`*CvWJbmXW%Re(vqGkwU-`2bDrdasFYdm(y?16mLpe^g4vDr#
z+ywD|qS$q_IAh!&d;IE_M;vcI?G0g>E_2_DH$3Oxl8sM)OJBX@&(9Yh7?=WLkNz%E
z#aR%2F{P;AxSPwoNA$Qzl7Nj)t&vD$q}o{N4yRo_5Hllo1btXQoqTMb|EBqdN6p6>
z<)Fn+ebFFYgxIsSB_t<k!es%Zl!;ptrR>NOkt)zF+tF?NP=h5C9+5pRyx=9PoWB(n
z$NwIZ+!<fz80f?q6}lBq5lem=S~aKge1&8GIc7)v6yBchWFbQzKfyZLYQ+bwD15`1
z>eKr9=%U{|zYtycrjr2d9f@|!Y#jvuxm*t?Jj;7gZ2D&{Rq!hNRu863?1#9Y2~^hD
zee3tBN^4?%g#HiK9Fs>JSi}(RcwjBs&5Z(y5bOznFam=O9C#pxh>ICkLgT*1t(Z?Z
zL{u@@C!j?z=p=B$7xX4F#9pPUMIOpYVfJ?N3v)8nnGa+6w>XaBFOaC4JrQ@sqG`u-
z!&ci_jK@zJgZHl`-yk9nb3z>4R7ZM9hvGA*raD9*3SH7&RO~ot>`gcAp1F1M>OIKf
zjF&N1j%%}6t6*=!uMhX`fJ+KvTqL2X1<|^LMf^lOyJP4nn_Iu1rkpNo7`y50@%d{N
z{Mc!TTSZIa9yTA&SWqLXfMQWyQT4BqBQ4LMU=vC{NHVzFUWbyMhGSQlO$6;Z3)=X5
zp@6Eh`|^o7CDemt*JDB%kP_YSFOc7m+diXVqXvPr`iFvuX+#v#<Mf|MpH^sYS`%KK
z{=AU~ti3(J<=HZFfSww{%<`CsBhKrDy|q>FaDU7RuZ-XMdDksVR~AMVwP#%H|M?ia
zv@BDf&fS#VmhxJtFi+aO>hp8?UIbW&U(V1z&j*f6+~kx@s|>F%l?+%r0xlmX!9$!O
z)2gh0KuNYHcEZa&g<XO7Ai37{LW;#Ag&}{1)20yi6YBqg;TGMsjjR2jKh0C`X8qD6
zxmFm{n()|Cf8?Ek8FX!2670u*!X1R5BoK=hw?z8f$-EI8s|)I;K0emCRGU}P*(}0;
ziQ$0c9Po$`TD}zDyRz7uZBA~Q6B^%h_dMjbXtlOmZKl5QT4XPFM55Sw;H?F6vOxD(
zvfT_xPYqvt&s(W4`&{oo*>nEBCgpJsjclfFo)UoYKL)!-lZp_(EDWC6y_{}9GV~-m
zErGy=F?Q*VQ_j8zBW*@5bi&mM=>8zaE*RkTHyU3qitIJ8!+<0seA?5N(k*E`kmron
ztonO|^@{AMCVdfq1p-7ekLDX<^R>hP^Dip8NA&T^FJ9YsXRU|qBkT6`ro|7#k(g4x
zQ?x@H>I%}*?l?Z=X#s$Tk~l31zdu9^;o1zxK`+c3!&_sdqd)4}oiH$M_<nXbJ53Di
zo0bvsl4SAsH<w*~X-TVirEKqNb?q<{fc=7!BSC|CrOT&0hpowzJ&H#4w7^nc>V*RK
z_;_3Ie~MZ_eYiTIg*OnxOua%q76!Zx^dWpi+}<PEJ~BF<E0`fcM|dE@krg5+_|sTi
z+|pZ^hNo1BEY`h{wEvCtuC=+)C-|iwhaoYh{ZjQ9_r7m&u2zECC)@IOdCLK7jyeVe
z8t4%tt%FAhU2T7<e~s$~6;<GbiVNX4CTsiCskAJ+n!pC%dq2TktFjB;4C-$Ab@gY2
zl{Aru3e)RyI#k$?LoI+`%{WDu##QuV$SI-#sIfGNHG)#Y=eU|_hoH=vo>K}Og?=N=
zz*L_5G4S<Uxz*&Pq`ByboBLN%j!cvVhYDWH1oVxc<3g@t5xDdh2e`77T6S>sirEp3
zOvtQib&=uGQ9(#k(>r~amLbFyUd8muOkW%xFkJ7x{O-B-&lceDuF@<Ce8zJu0LI$0
z#$D8LhF&w05EKI;y##9fkQN%`=~-cw#d$*ACxpa42A{(32)~MD2j=`?@Uo<T*i|FO
zc`sr+pVLgC*?8uyQ0&A<5w0S554rn51BrRGzBR_WnjRc&;Ki2~1?y5-2JJEp`|$DX
z6G};Gyfyt24GT_!VkYQkLG@&L`sZV{a%C-bCdb~UTG^g;UtFm(1O{Qm(W_D38!sr2
zsz(62toln<-f_D3+@ByP78NMv?X>lTO|4^Qumk@ZV1F*B1`9P9C5WJy4f<O&FpLxy
zb1fn~B2!5(NEIfVsz1*n<(?`MXSoGFyf0q&;>sL`wM;j!=Mww8MYFUAmrO=2+c4G$
z_^qUG2#d^;PTuX=3o@*7#Lb5ICzoE7gJ$z0_HULj(%}fGSxl0P0@(7WXwBl8%Z*H|
ziaH0@TCL6MIZrlxs?)K*;|L0^y+*iObI;xcb+!(RpZvj^|CH7;{<nMtv?3Xh)i*TM
z+FHj*l5f?SWsy}_M!c+CcU`J%qsmtNz(EO*i!HRHS=vgBo&f|mWFI<uL+1(~DxPn@
z(X|PPB*UdTsD;{?POLL)>v7x?082_J_8OkiR02qpy|dK(zS>?0vZMh$h`UsaDF!r?
z)teVbOP@#s;VZF#`3ayd?U1!sm3cw94A>QH546PDP4(>iKZFPH(BI;L3;Z6lB?op-
z&M^??NlrfwT<{Nu@J4M&(7RfZ)Qs7W7dq378F^wUWMb4P9<ziamvd#X*AfM334XH*
z?Q@PbB$0yP(Uy5NTp7)ajIK=SLz!{zN(4CU%cMNA6X{-xhEg3Z@@AdZYB5faI0PbR
zU?IsQTas3VU1K+^=Y8=#7@hDE<qK=D+99mL1jX-hk_@;<l4tB@AJqAY!ZH9j$E>I}
z|NOcodB<e1)Lf3$I^mY9lPOUUMFJOZj98M)xgTy;P)6EKs&>tb<Zb5tI++j0&|tEr
zhvf1Z5opUONU0^_Q<-YEaUm8cpFt_q4%7KYRxH2GLYr;mO_v!hgyUV!b!DK8tStT%
znE6nEo!@}*L^S7$=|s2>p%lN_Hu38KQdA3)mh%(Xm)rE((QLHIgZvwq_%qvf$Pe6h
zqdCMuvX98`ZpI-!nbnh8GBB4DZzj=>gDvn>Mbq{N@2k;Qg_mdh;Vl<A*NJe$&K@ud
zQ<%8aG*uY0xBb$Os#}esMsP`%bW7llr~Zg@TB91@UvKJ}e{Y1%v2M5?)L2Yz9=#bG
z^QXu=9Nv<$k;0=GIej9(et+&<@$-l?HiV=txwd$TJDen-dhGaiyb^)~LFe&oB^|t|
z1^y$AIMu#J9YyBX)nb<qxN1h}nOofawi%HlA6s30pI<mQ_QX|GYC0BxC^P<iRpYiD
z-j4fR<eq(q4xp_%foxs)fyJYC0k!|46fM7uDf{U{m_}ww8Xm340@QLc@Y(g*e7ELv
zhanuzui^CwDsBuYI<I&!W<u|%)bW6$xOiY~2;C33rE~VnvtkM5>noYx<xy&+iSijg
zu9f8XQ6b{>;_n0WF9(Sn?0$u}2WIXpI4A7!j+w_}9U%Qd`4pGmfcB_vZo7Y%(;h@X
zi{bx+N_3ZaO(7+x{DkCOSY_o)_=wPfkW6F~Ehk7qUn7bVDL%I@yJE-w%N;!%>Ifnj
zJQw_POwGgTQH^wL`f*x~^v>P5HH^u!2Daf6e=m+cv#9=f&eKOE-0OtLEz1X;NKmqn
zfa1gZl6=^Cow1~V)9i=^bB-xLz%BctqOF%&5-+?0OJH2J-@g_(94-cH&iS~B8RM%n
z$>=*JvuWI7@8&oaZf)5;!cQrrV@66k7}K?Mq-Qnb8#X_jOmS*t79aO00@&_v>wL)$
z5xWbpLEZtANXov4cbMd?N_C!L(i+TN`F>x_f62YIo`;R~?TJvp-hUM4QHV~)fe(4Y
zdJ{Y=V)J#*B9)GY9{ujdJ=1x1L~(SW%ptMx8IOSy&T&clX!3r<zT8EJ#ZyEAuw9RR
z=>kaH?q9Ir3Osa=sg!?;?1_uZMH6OLIT<F6#=C;uC257BOf@~5@oAI&4mF#n8gIm`
z5e@~XmHP&WrD&slI8horgM-VjhsA_1=|JKmA`vabMX@gWN+26%{h=$K949gLI~sDm
zI!F*xYMcykxdh=Mcx{;Pr`P#WSkVt9(7}{I%Rd+zLX`Fc8V)(c=dj?S8e^$V;sq3`
zU5UYq<a-<g=(Xe=w5RkIszDd0!Gy@?Bc1@7dyFVP6x;O?CQ8xv1r<W?N5xK&*>NZ?
zpPv`Au1Sox*r<A!5-(p{1RW5jwrVWjmtmlGYAgjeDw!vwVbFkJ3F-7x{?ptfJoOtf
z)yk87)iQunXJ~-ZWY|ym(VtFLIo-$ws<ZgrVciP0{yY7&qt8?m%0XuZTphljg;N!0
zzDzYOx!XM(LyTFhd`0fT^*@EnfcD16e}lVr*oT<tRPq25U_b+t;ycjDA)2rDS&#V|
zVQbyGI7qN=5gx$v^PvmY9yu>T$SjGV63%!MxTfi;>%DUh=>5(gbNW8xh7HhOFlP!i
zR6Z$l?7KgIi37lMxR1ItA$%>+-dG;!iJ4hMq@ns5KsiL>OJx-d?)7^2ypwQ67u!`B
zPHx;YWUNW`!_nNJea^J5??ErFPQM_?cP-7Q4|?mL8*KB_fZ6&=eM?!rPRDbh{r!$e
z-{S~G0r~Z`@y$YsV@zuSHYf$vh(hf0E6`}aBp}uCCe3G%7iJeUzHcJ?>3{`P7$s&L
z56CX!&<L|B`^!pr^r#^mj<akbZgmbV`Ai3WI>n!;{jOarL;7Fq>l{^tis2rtp#(4=
zskeWOG1ZIu0$wm`NE53KV9Hh{GQVj-YLe9>wYwD;%*1?VqnGnFyf`y!3QA?<z#z>q
zK!Pw8EAqQ?I&sFx>I|bL@HBshg5kHYIe~x{_TUrqh0O@s&kAwi4BN`FTgLRxsR2Z7
zK?)bC!Be7R952P--`L8jdQ<9+nfyWUDJ_TqOUu8>Oe4%}y-h$bCiQAqKAgl|JNOlB
zVGJ#8(Wf_iQX*4LSph2&07o6?y6S6w(LsViV!X|AU=oBC1ldbtO!LyvC~#FwmCc6=
z@d1q1EAZzxaZY4KWpwsrLyJ}Wwc@@r=C4uKzzXPjNGSn#hHq+yjnhW6mxD$MSX^~+
zbfN~v`8#Y_lhgBpD8$Gss6+mzM3+jxGc$D{4^7NhWV6F!3m*Ho`uM~Cw6F?);g0{5
zNJtA0DTtm-$$}|8HPbh9FqKhPslh5T(tz_?C;1Br;`V|VW(8MPQ4z(l=u3#0oH4Vh
z*g{axvkpwDcJUukhN2Fw#rnopR{pF{o%&G26{tc@QFze5U?Dg{WYw8T`K`&M?Q+OF
zf6@N9!4U2CfAOxR!yCvab|dM$<=OY5`PqO*<f%KCWVFsGidB_rzZs^W?X{9&?!k+6
z;x;VDPWzcv85?L9r~6{KOMp=#=igDNS&pFpecnS52TsNf!h_byb{|M1pt&Y0(15Y1
zc18(gm|7um!}G#_*srl|w!gt^5rj49Lb3INd1_3(xwgK13MJH4G~rY5l!S{r;C`?=
z^q2zOAWyf{S!^7xBk(Bnjmz(~6pi&;82+64<$B-mIjeZ|*#G+QPH;g6lVLvxaip^9
zPDPOWv4!(Q<IIe2x3w6qb&rc%LGZV&m_czx!rm2cU#m|8PyL9PgIs|tX<J8Wtg3<+
z>+WF2@{;qZ1{+0FvIVQMAoK)54V<Xi+Ung9?x!!{XWM)us_V0fMkOsD%GPb|PznlK
z=)+tKjwJ14B=^=E{j0X+hUVYP?OJs=UqYB-noMQehmQ%Nha!c!BWo)+5hpFZ51QH|
z-`IJfN3}Iz2SmKAZa@!{c~`>wDLGKtB8hJx6{}k>gdy)+s5*j6C<I;U6_1$o=k*%K
zNoIEJ<PBOpQ~y)38L?Gg+q9D8hRI}+x~&?sP-iwgV#&kzPt{-P3Sy3+z&9<dIq-}B
zoZnk6HtKXNQE0h1=FW;ko|9j(){uQUF@CO?xznNjz^K4Xft2iud4bDd5vAR1eC+No
zLuS`29fl^X$pxYr+jhWn^4(`KXHVP<yuElMxxD^JL#)3VT;?DDJWu(JQW5$v85lOs
z!=5*Kw3y}-K6LzTL_BbawzQao-o0X~r~B2}>c*yQYn!ug&`k5-@yXrxA-%1UP@9?e
z#jCJpORjLMhWpv+!Tx7-f?=s|`ba!33DYjWLIfP`1pejLg28Xa{2iW?29?DZ?w6za
z!xf$WK}$WoAvv)5n>cB$>LRV=3W56J;ca_l8l0)zCm0o@d_Lg%M+tgc(tX#QwO|{l
z4;L`@R4ESwxPvi|yiV9o!~^3<^$=()aZOaBkX)D1=Ek|MS08nDmQ5CN$WaO<JMY|o
zf%*jsO6~A7)$a;6rPYFXV(equO8K;fo{=w&LSxSWK_>B-zTPoywO8Km$stG*;PBq$
z4j$Xw4B%R=QJ=Y*o@BT%z@!eJWDQkzI0k3kfF>*^Geg7?`kBbx1M(g9;yau}Da8AR
z_da=Pq88l@d5|f+b2(|nRs&?wFg&TQs179=k#D2vikMO))PyUoW&NuiRP`|yZOS96
z!>JG0v-#NY?)9RP4}+DtK>0!h(i2g&Zz~SHJHMZhJ>-`i%8Fa~=Mi5c92QYfiGeRD
z*S{yCas(e>N(HsUTPoXQ=)c&RWPDJHC&l4nSC)kixZT7G8l8-hJDUD2PZBhio>pSl
zkQKO)CqtAmXxzHRA!@Y!=+nCO;loXfYbw&XF%_}RCH_mO>tclM%az5&{t^PuZTC&L
z95Eq?@-)!_Ee9A>Y2d`ql=SHQ9=F<Nu%4<&7Eo~bUP=N?s@ZL*E{Ks<U=~S-1lzTK
z^dSw7ewtSnzT8?&NU!l^eV>@H`biFf{m8p+{D|#+Ii`qgR_RuE_3{~x3Xl1mHqDvj
z<3gldijC9fQl5{#M<>kTB}qlD!i#}>#-QXVHc!3@tMq#mLTzE0$}p(xRJ_`2Y0xg;
zpuFAhte<%H7g!SfQ7Q0;Ub(%+C8Es>?7G0+Tf?_L3LQP(2?PMo=^Jb@-uDSs-`jaD
zZxnuf<`?dWiRuYWB@`!p=noIyU15b)MUl`=MexD%e2M1#6G`8~u@TNTsfh5xn-*^w
zxY`4l8oEqA91EoXnwjo0a$w6;jF4K>8>l30BXv2P*8uxmq;!F1NOCm9-m8rfqAEf6
z;Mu}@DJ8{F63$BopB4)uad5+J7lNj=JsX}_TQ8t$Az>S?pH^TZizI7MpJoj2JvI*p
zI(B%CjeZPC;b1x<M9~%s*s*UUhQD*zgfFREuU49>GQbmTyib{mNqBnX()%dB-&s&O
z<vSHEz`*&HfIc@F?AmIKoYywlyn2v&_mhNj7e6{-{BX%G&?nRW!}wmUd@#NBH58T6
ziE>f1j?_vE-Dw-6skpp8O6SSXbyo*yk`L%p7)Sx<qmQ_WD9mquZKwsD=6#P4;7lwr
zuzR-e*hpGh3Zrgq5V4Cdm6#P%ZBTc?k|sPAy=eLDsKdyd5bfjZSL8HxiHN;x?{^>i
zSMMH0ijyGrR5xv}mHO!MbL*={@zLPc>0WPyINa6=n;}X1@*(2;#$G|j!$#}ti<cU8
zyl;yoArbZ2O_^%~kkMA-#}VbLKiW?TtqfnL1$?OQqw~U1o~*v{;@nV%Gfff$<S3Lv
zw=XZGiQ99K!{b*2-TrZz5*=uU5cgSL<Idj1&CVg>T`!H;2pN%I7&*wNghw<XTz}bV
z(t1)WCwX0Zj2SQI*&dC}qGk<l`y9@r<>)^%B&6Rz%|B?5p@;il{Azt^?{EyTq<(F4
zXw$GvR=7lG^wHiDm+qo?5P;udV7AOTzGENV2IMaGpc&?T2r!%!YO($1OHCEbL++ka
zbE49qWvzh7D#ITco>WTSMTv`vSXFf=bcHj=VKXR1Th&#$s`y@K+>CNB=0CT#t5<LM
zL(x9UqGbnQ7a3XG<|&@5(<Qrob1(0V7>xzyYG@UUfWE3w_dg1tylelRQ}a9`><aii
zY7|=WR6ybDb~f{BO(u?wfxD=-k2PE;0V)5J@S5D^-DLm2CVTvc$)xTl;yC%_dROIz
zLGl`I^7^vvnahg0ip{%OM-CBY*Tx=4#7;!)n>9y|qPtrP7JJ4mbL~QmNJ0XS%8xhO
zZLR`*=$B0utXKhK$_krnvP~apes7Qxax&^%cHYbp*1I4p9lXr|(V4`@c)Ag9IB9Sj
zbu9-_X=Y;aKn!ga+i_$)c3q1knC4O9Cj3*;;y?CP^H^x~6J!bzQn2e>L5&x5cKH;0
ztR$0)&Spmvg;{g<`O(PekG<n;nxww1+=%^<@c_&V>VgX24_ha;Tnk3E_$V6`>TTB8
znB;JE(+feyFZ<73##%moJP5)wx$j!P6z2?H&-0a^P-9kh(lJC!oVW`D?HzHy?i=h&
zP=ETMxmBirvCDso0>NhM#U$Z1_%c&TF4}(27aHprAlil8WnsHxaKDs9e})i5xb}42
zT1zianjNF@Q2#{|Odq?&Gx2>wJtv*Wf7?t88X#U8LEgodxE}gsyMIzsew;`2<R%5r
z@jbXrK05=tMEpLia;hL7I7IzZM_Xq)rMdd1`)2EJuR8;iV-G>I|CX>JxlvQ=wSn+p
zxfIX7v}l}F)^dd~a%<S<@}TkMn>LKNG+YXg((OYl;KM`Z!ZeZ-9GVD*7}$hibmOB`
znwWg6$M4i;TmqT#s;(T01C0c8DMSQ~2{iJ-6=Rpt(bY23=b6e?nJ1t$-|W2!U!S}8
zV0-2Px4V4qLxKW}!c)^*_T@{IL)UnioB73NGqVNl){$YrDWpFMNL0&hT#RQJaqtY2
zhEb^O#Edc<hzBYW?sPDC4L`4XwO=ARq{8YW*D5r;526xZc}rB&Waq($XDbEG)#ExG
zhn$6E@RsRE#J>0<bdz4oQYakTCM(tR!ar!0@AhU9!lfcS(_Dt;28c_SkEv(BPo;2%
zH1+P$dp1x8^%0{Zp>ZI@z}QTSTd&+E2BMm2VGU1W>Vt?U!P2(WeN-yrmBE9o;`4^1
z1r-w=`G#9tiJ+Tp&Nn>m*5+4M-~__aAF|M^JSHlQl%a<^16H>`mZo2TxjLN65TLL6
zq-g?gC_58y@ua2g+uDH?6wdzd!`EiScRZZuZl32R^EIWcf!$xanY*$l7Q7mF<WvIk
z-%GIIS)7WZ^ZB%2vhP|@*qwERaB^+|K~PA$5Y{13BgAEvD+Q|CFN*3`tz9E9L-nPP
z`Eud|ohR3~UIasxKF4rh+q1s!zzEO$es@%fLDU!$%H?ya+{OcR)-Bx9AZVV=-QSP3
zO<}8L)~IkYQT~Movj<|#c*%--|7=w!aOiMI9+7Ur#++F|1OS$n7Db+14Jdm^yGz4d
z_gwoSOz-navl;)OS8do|>=$uH&PhL@(U7CJg{a0qb8l}D(+CJ#Jbd>*1$2eJ%5kw^
zMRmksj)CiY@wjnv^K=D2bcG#k=Fq?`?lL-+#O3^a4Que^pgWp0XIuHHl2EK)>1uYw
zDhhiE{3TJ8R+kTeFoMOC_tTI+is^!dc%@=Soj{@YjdAQUI#;8BSUoWR^1?fGr-rVm
zL!KGx5OjVjD|NquoP&}{9}nDv0&%%l9b5@1C8yx;qo74vg#ub&4pqAP<?hw^>$c@D
z+~7@NE1|s@XZngLpYpnhKt{J0M)y4-L3yXxF}h<4_e>_cjh{UVN}<SCO^PQ*#66#B
zRG||@LZLXxa|dUnNq~Mv6L2(@I0nt(^()b*nay9RAtQIufwC9pw1MCg9dK*jc?S+z
zCj@AjMxv#ZJPXj&AjKJ#dM^;Eu3CB*<5>~mIlA+VzRv4I*-o9EzGH&#gv`*+UH7lU
ziQ1r^faX1T)^kWQG1miSV2dtZ<RQ#a1#XM}7*^eLCigdx+IJUHwCb|^Pl9pxV7Ct9
zNg>Hu$xP=(qr&w@#1p%Qm{YN9K9no?lCjguu2dLFL-L*5ThILX_Jo}I<%jk#hhE!6
zISwI?=;%{e*C|9+#t9!c1D1hs#4b_u@M^yT#uA|EGLr&Vh^vC-Z{A-wMeteSnknr%
zI_AzV9A?h$1VcX+<Jb1y=S2mNx)j_LB2w9UVX^WmYu5WFXLBS`ugITvvF6mXDZBGL
zx;|ftUU$(J@e*(iy^{50!N2d$k+eQ%ZtL=VbR3(Y|Iv<E_~ZAI=<UizLj%^fHx=+R
zCB}WnpZqlTP~Jx1Q1^hVM*weWsiHqzAz$f*I_@j^kWcpWXWreRZkDuL&8{R3WZh24
zM052IU<(oHh<?)0erDqx?L-cakj>JgWvHN?2@i7g%NLo5lA`s%OO}fPFg$g&4-PNl
z5DqSiQ{j#oY!eiaB8WmMMI2AiW>b2G5317d@OCq!O^2d{8-zt<byTTe2s$sR2h#l!
zsi1<*iC-ZB-(&W8*PDNPH5QEKjM2y2iSfCK`>4>0cjdiu)U##G+IS~|uwsxtT;l@+
zO=IZ!k@J(;%AzY#QYwk^Mxo$*(T&Q*lKE=~QkEOduf;4we)7k+iRZ9P3Edmhs+QKX
zjCc(KWb}_j(FRnu8>b6iL))E4r}$5rFUcme>D4}6{rNb&IriCnPtSUOOnzms57^u3
z!Df+o&|JdVOkrqQtJJwT5?45F&%KAaX^kEJX934m>ajirbUS@|`nmI;YiiS(gB6>k
zIH-I=l1Aoil-Q0kQoUDGu_w))#w-Ip+y4;6kj8|2vhmA(bg5i~dBm7&=DQD3qhwgo
zVAw6w_N-NkYxcO&zPsR?w0}_a@L~Y6KtQS*p=S5K>Xwuzjsj#h;X^)?uYiPpv{Z;9
ztDOZ)ws~Bf^=W5xS2}vK;Zz?8`)xgDf(7BcVR`=sNPF+=5wgL;FX$Wgn63eh=h)Aw
z+@9N+-WYMP_nodX;ymcKE<zaA<mDJ+y)wjL&RCpcyFccW!8b@(l;UXQj2Q*{LM@+4
zqWI0~`+bm<+X2-x8cb@<z_t#A8YPES@Vp|eq3$0Hl-8E}ACNyqjWLUib%7Yyz*tgo
zhLq^4K_rSa3Ct5q;dK44Z8;UyQBmKv{@9sdyNKD+F4i$0A2c<ljb@sOF3@%PwCl8&
zH9_=#t+@tPOy`wR=5O0Qr$16@v)w7#T`&;%;oBATkFb!{^9RbRwJ6_qv-45IU+5d%
zgX12cJ6^kaaCL5Nv~4Z<OFE60#f_K>ttcAdG)sbEBZFMk8&68x0iGFx<@!(4?g?b@
z=S5-FA_2b8k|7W!@|E&h{_fd7pWu4?-J-|vBnA`j$_Z!i;sSYENkTr*nGjDoJ%d{#
z5IFo$x4d^X+9j0!uB}38^!<r1Xrd6E;qCV?|4{>j7S2%<B+3_xP7zKmM!P0ns+OJR
zLM^&1L&Kx%`5mSGa>h$97T1^K+o)t3s;ACCPh17i))<o(7Y-%eZ~Y`#atz_BC<yht
zc>BHlnJ%9VdV2c(O`HsG8*m@SW2Q$4afC9E5RqC~$mu062d4w1bDVW}>T<9-djdkQ
zEbSK5tEtJ2f8+JwyF0OQ+vRyb-Ji`3efZnr8ceH?5natlb|naqCW3FQmp*=OLSyHS
zE`I{;L{uE3Ko52e(W^>_y7irjsm`YKe8!CKZnW$@9?lxaUW~+46z@;EKaWi-Z{luK
z5QutyL73ez&<N8@Z6qmsv{cq4*KUdq{BEdK?tqb#w)^68P3=yp9d@Qb91w;qna7+o
z#-bfyzMnefjA>riQOOHKl12X`d3@aEQ`_FsQtvI^A@_(#o5tw?WjJG-XF0mM?JV2Y
zR4(I~*R<g&`}<V|erSHtB1{g3egOjPn6sc@0w8vt(=E0)K{zQTv7_Plobt-lU77YQ
z*`X){Vv?W=Q$I9YjQ%K*EF+tT{>D7@!7nH5iFPq|89j&?!vdXC120NR`n80F>p$XC
zL&D&FCTIw$b|eBq^e4!o)6X5z9Y`cKW1xXzpP6(_+d`Kir9#Biw&9HWY9%~ro1%$k
zCx}Rj(j?>PcJ^bE#fY%^8bZZ?NFhVQ`rCk%-cOs^z?N&yz(u@xD3j2r@(JEWBvLc^
z!mWNJYSC?pMbmWug!rOy=@e(~BbfE>w0NjId%2aiTJU>VNp=gWhenaQ7YD^oKr%b}
zt_KnAH-8b3Sxdd$6TYp9Yv_T&Q(ig0(tMg=09z}@broMlw}$YKMF|8!x`~v#whEmw
zP0hsg+lfSfnv|1Gyo=ihS%$aak1_NyVBtteG49++0)~oQGFDVVXb&R)$A?K`A6<P8
zYh;K`3wOysnBg2Bd%8SBp>jW%Qzeh*Z89zzNw;DzhR4ZEvpu2u2DO!i^x97nE6-IQ
z^Lt-3#B9MI;hr-*6gZ?iJLMN+PbM==9rZ2R1{e=3uAL>g<wX1;XCc<AVHU*tnHO~t
zGq6Wa*43ux^GP@WDYW|q>?P9Ey${EvKtLeYyiTz<9F|J4Xb5~{IOQ2DD*xDS>|NV{
zH!}TxO+`2dm>(ya6Ei#evhg#CI(PQK9OovXd{B~@{E^GwE*$GU_7c?y3~w0ln<AAm
zDND1P)S+WJGwI5N5#^_NiI#g}jwYxzolvVJEQmGBJ+S`Fs1Y0=EjaKyyuWYA+2Ogl
zz3o^)L%MN^BPNvOgVoVzFPdkpnksC_fi+AHOuM5jW6deAgu^7|5gI7VbNY&DSJwlY
zt#+#UDt9ciTZjB-7dH6UKQ}6>ANxBH)*Oap>F$nnIdPn?AXQoNYK`fz;1SeFg|JA@
zqX?n9cRzc?|C$YJ2qq7b7%(<ogO+(A+#n8Dl8q>x>j`0D<%?2k$B<Is$Adoqbg@5Q
zq8G`o5ZNcW?E3~4fjgp2M(m8sFI(@3aa~%>CBxg>gULGc`hKX<Yj~Nkipfzt;9RaX
zk4i7V8)JQz44Z*RAB4z4Ombq3>4~z+P@bQ~WaQgy=P1s5az5HsVRt|1)>Wg8{)xBJ
z+cPRuaGs6gTe|7IDnpMOjgZ0bi{6`|G6&y>)AByJ&e8q1J#i>WS+L(5JHuzYFGP`g
zqHr%ZM~J1RN^ZZYmR8$1!!P`FHOY>I+B++6ES(;`5Y;w1s#HfxSPD1+$<tx`+KVzo
zJO_}hp39#IDJk4R2VWkiUZ)Gw!^tgO6OdMZfy81BxEV6sj#Vs*Kh1e(y4k&E7#jwd
zV1Gc#;8qof7Sf4^z)Qs<OilEMaz=29@K2{DiNIN5c+BfBTP2jw_N3j6nNzSs2(J04
zY%iB1zV<UwzY|*wEQ$n)0w<Q1BVMu^BtC%6X*$P;RxswP`+o90MDdYpHT#vP(-CtG
zv;3p=ywi`X93)(`C~pKaeF*qu+h4fl#aLq;sbq`FccFRI>0#Ut6oYi*dJYT2(GDWP
zry))7?}L0&ODyI4=8T#2v&7rexsY$BZ(*htzb7bIkzbl)KxjSqjN*+1-n6~Bf!>2o
z>H4#5iiuWD_Iz8g@NH<GFUxd2@X=8OoI^ZG&|o_m2SW{bYc<vVawf|VD$*$U6mT_*
zm5Lca;ARiz2J)j1{`jmwO1tyjn^0@IZM=FlqaQ{qsNj@dM@UOc<XK=Kr%1pz>ISti
zV&k(9k6BWRaB!KOqJ*z1b}YFJ3+0L%QF8Y4!`rU)TXrfdlthwPOWP!2+{H`WnUW^M
zDRQ1K7JYC_<;FqRSfm&CA}O(sr#MRil3E6u<!tux#D~KO{U!QzC!$)<EqImsoAN&o
z$;^#$D9}hG#2SfK<xHVUGIs#g%!Pi00Hs9Y15%aQ&zt8*Rck5C$2ABAUeMT_1ntjs
zOlu*CEs6;_e^A##HMCi;ms$pt5afdeco30Gl;hVCYTR@m+waz(;Sa+gs?1)C2G!R$
zIkp|8XjYdTX5muD=#kcFsbBFtev%Aj7Co1PL9Oln&Fu&8VX`A}O|>RR_wSs3EQAN=
zl3(|w&te~43EpqK^^&1^fg&Zv_BB@F$#zarzpzN=^S7?~C8w)>SvBAbV{N#5c|R65
zIJ5s#nI3Xe0DB?*Lv$3%V3LAXaP(1Tuu1x^LxX66L_fSJ09{UNE_HtqgGkUG;|H~G
zSlj1Y{3Lw_Li)*ipMdKXIug=1Lt2n(Su?5W;6m6Zv)&1)CJ)9?eyHmP#ReBQ6}iX?
zZQ4yv!@oE2bSYvt3g>UcYMrF^zgQ~bp$>lObIjLKADI;?RYo4OSAR_*nbz}7+4RRz
zU4IaoTj6W<5!0%M3vcj7{UIB&i*UFzxuxe&zz2_gRwa9j?@&kB2RB}S0pH)|>{Bx=
z*eOHPj@bFbJ3Nh;3YWlQj$0?-3^GN6VE>u%M7G{lYAiFd^W~dw1SxUF`WEX4wOTT%
z_q$Hk>wy$Wv7RA{sRn&mE`-ik*&<}V&}`3GSH2B6r%sGvvPFoN6XU?$1f<$#A#93V
zUChEaxw4azi<r(|c!3CB#3iFTuF1OumY?hJv{HrsV7t0X1T*XM-|9v3++(M6sHqRJ
z&9L`T8nxqw&09N`kMW9kbq6Ms$tcA`f3HN422xn%H@)BZN)uO)=5wclOMoU0)xL9T
zP{q-M8k?>Ag?!SisRz#$1FE+x>HNC<9_PXOS5ct3fy8^OQI$r@*J7|^v4o;S2WCHr
z`JnE>R!l<`Eu6<?73|V$enp~*LP~1*M8s#`T+$f`(_MOTAV<p3t?_-2>I>H{gWb{+
zN$;<Kc5gEe+^ubo0O)SAPPZedE@XKORH;u@r|S!-@(U2g-0j9vUE~^_kJxrghS+62
zce2U)q-Wh$T;~SK&DmCT7gJxoB}QNZg$2lBcM9?HOODD9`CCPtVZL^zR641V_kRdp
z&gvX$P}k;6q7<_@q1Zh9X0MT0J@qw_CpBxvCOL0|<nmh|p{!H9F$`vDDQSRbxu@r$
z$=NQF%RP8-{R)xp8~is6D^CE$a)0Q8@$QbCJ_IhY1*v}vk(_0$L`)KOj}{YD)MtB5
ze3bGWAN6$;0znTpT(tL#aV)?@bbkZPjhuu!(Wt3%vga1l;wh~l->5Qhl0TK8JtlHp
zWQG{b2ezy<XY25WZF`WBK4Ww`FWHjHxW3y0#ylNvC&ohq(N+A^)K^DRu7tJlo~*%S
z6mOsVo(Kcz7rc+g7hiXCMnql0J22#G#)ail!le4Wlz!n^Aa{}PvNV&+Nm0pzOOGam
z8VDX_33)4hyhgbCu|O8h5f#IgA^+4T8wkw`WTkZfqtC560Gy<Xr<TK8{?$7u()TtM
zyUT?s(BvL573z0IfQ?A;;p}M1XHLX0Qt~lJ2jo&Wi;-0I%FInC2G5$3nU|nr+{Cgb
zUW|H@A$~{2s)w^8_`(gb4NyM*uoC%+3HE%)>$B;}iK|h-nZ41ho7+ROLVBz>w1Yhw
zj{I$vSOgkL9{nt#SnB((SR_ICbr;2wS(D8e{(JK+5F?uqH>dS4{-v5Znro5W<<aRV
z6b1%q|IA?YNl7*|E?+aYT9mop_SIJJ`K|*O5mQV7Egwu{T3m(|&94*LAVd$<&hK)J
zT-1;y?wi9U#S3}xni*9<^1g$Tvd-$hW;rcsru7rSSwQ+=U*^g16UOqdXUfoLFyRNa
z5PfiK7JN_+Q;cE28OBfy$#-6)2~vV^FvV+A;6PDmCrGD8G)yU3pX6*ZAYfvgwlV=<
z=Pb~u4%Ywj-6i)lG6(2LekF>bnfc?8tAuHVs^vHoBGDzm(FPWb+)Mo4znNVVk?sBr
z@rIDBW$Eyp^vr|j)xkW-<fB3S>5;_K6W?Aq<nV)D^pR~+mwj+@!Sw3tsq|gFtsK!y
z7Q;mVbY7bA>P&>ax9f^i`c7Yb`fiN{`MpA~_8UUii@&*58}?ObvX`D>f2|Jy#INHS
zPK7yUOM)v#JwX!t=X2jUMZ5m>a-OWu%9jh<r@hhH_v^|u0+9YxqN-G$5LL%2zjwMY
z1yAuVTy#FsI2l;X(#b_cs)Pw}of=;gDoCbn#C1iDPjFJu?^kJt7HLwn!UfvdpoN&-
zQF^;ao>DZ!d8-abSc8%_SgHzqR?w=mq=#REn}?bpNuj!1Q6clIXS#fZ3Ckh=gpH#s
zEZs>g^D2(C5m^#%cIWpv?264D2llO=1%c9G#)eS^#I@HctG#%lRZR77LvK{@beP39
z<SRG8X#etLax@(fzuS;-O#?Cm!pB&Q!;-;K?cibdJoqPM($-CU@{Fv!U_l}j!jBzD
z8X)fEs3e#AC-lh~Y0-ikF<WUmb&Z(PR(O9&i8H;d-L9Ri%6Z!f@rS0mNXM1bErJ&D
z#)i{0jnA7o4Dz`Liu!N?@5l8#hCi|Y{Aj%B{CZ^&bshWcE%b&ihXtJ=%U!7ne4`}q
zE{y177NE(*d&0M2<T=W8eM4?#{WwBvj<72KUKP_~Og18G>zgK_Y*}0g%e(ePV{ZzZ
z_k#uB_dEOht^S5QSdb6Tlqw(RW)$WZ@cs~~7az6R1*0#m{&C2->KWMIRz|K^B@>B}
zl#$B{?=Ebi`nqX~Zn+{eZ^euK6o6F^LA$~BO|mSb=*Wi1lYMY~ew?iAlhd2U5jCa6
z(~mD*_WI}woBHQnULxRhm~#UiIueq#n|p4g2c-mRMG@5{L!8tcj|H-x8RW*(DEhuO
zs@yFHA>OM?*Ph8~mIBRV2&9@d@%al|BR7aABv*77b8Y$Xk#e<dmHz|CKsUeVnOlE9
zi4Vz7lPAu{T9;sn2jrbzs_I{87M?FwB|Z~##<2sqY_dAEb_6D9`<{hzU~%c9Lu^c1
ztW}8x>>te9OWTpGq#=o<>+af}Z72R!yp1I9dJ?~o>nYD&<rQDZ>5F%Db-THq4+6m@
z!if3?2moe9k)kVKaY^rX>mO^Q(dRRJJr)^<|M=sVEy3;*J#98`002M$Nkl<ZIJEpv
zw14yhI@kuH_G|`$eHAtQ#;6sy2M08v{zvU7HW!Y<q}385(;yN~K~nw~_skQnTnGzu
zIfxOSs)-eXPC5n3D`Uq#^UX<9kOpTf#DzA#d;^fmZfuZFTl>S7<35cv<@e;HdX|~F
zh-I!gbo%R<;^zT8+XrT46Xqn_86O5)pge~lfBkU}$V?3ayI3H{l{k-fY&u2B50F-d
zu>jW>3uUboZ4FDslb2vZv+~R74_vh~;y>9A+XFkT`3RooMBA;f2wg1w9AZ_LhiEbc
zo5H<yM-b_k@W^9%JQk!|h*Ym2WhhHt_;JRM9IV!yX$IQVQ*6Pb!`brG8M9Lo1cFP1
z0;?3{*9esxNY+LcI`35C+FtYBBT%D$p8J6kT=iCB@T^1zcR=(%qREZmJFqu8jcgH1
zV08r1D6GbqNJyHA$Z4yEv1zNtCWBkVE$3nqui^y@L`=Zs++UY=cqhf0JP*N=N+7{D
z^t-u#d}A{DLAxU!adnW_IXAy47JSwOl4%y<P*~^RYKXwv1x34P_H4qW1;~FW(jr2!
zHDX4TYdcg_qR&J_AFU805$VBL^RZLhoJwsqNN~wgyh}7*srh{#;65~Kgd);S#I`N)
z$xdmg(Sr|=?%zO3h@C;LjttSZ9{|O8WnJIkW3^kt57p_=KSMe0xdF<zB$J?FpaOMJ
zrkDeKF2F=6w??_;(Fm1C>2ke7+x{wSuTf|s9aFX@(rihYqbH`u2s98~1%-|?unK2_
z1Ys3o5!_UJUG_w9xCDssPazq3CHq|kUh#;X<X+MI7m~^kS2Ui1n(G|fw$L35CzoV3
zM!sXSXv<0^KK#r@OD|63NrHr1-%2tR>dTR1ChQV><np%*Nmq^E%W<7kpoM%oR5Hs<
z7fBkO+F~OpJ+cpm9sy;`MZVG(H=YKiPs40@Y`>cCgXX@{AP`(4RAL)IR2m{A)@Y)_
zTYrAvw(vht8?%Wj&+3d1*RD7r>jpdF9)YzBcX9YZkVEuviPqLOK=tselP)d4<(wle
z6}qG==+o|>vZumqICdn|mxJd?e7^7oOcEp3VK$j{`0mHt0tLM}BtwaQLWDoek&51<
zbwh+81X}h>pfw@z5PlO0eFAzL^b{z`&Hwb_tB_4dreBA$6>9{-c?R3-k$*Px8>s*S
zX+PNt#8%NL)KElMIwB<R+4!Ef)OG!TI2i-=>qA}}J^B;W!jHo$T-(*yLe3xqQ|P`(
zDD?08Ku4%k9-KT_+1B}J68>7Je!(OFB*nFC7NxgnuBtE>VEhQPLt6p=?Q`8`uJtSe
zD4%xdA}EP$JoFssJSa;ZFF=>l2X}lKdM5Nv5aLN)K4ESs2?D_+!Vyt?VM#Vulve0P
zYT4W3`}|kE&zMr4Ar+-faY;gpgzev9T->}|>lS*0=UZEq<v#Rkv@Wbc_%y*mRM}W7
zQJkoO&d_vBC)O5tiq2i=3XCWzNIC_FfZ(^a9h&AF3kt;C+#?8p3_nH0_d(Bt(u&WQ
z3~{S&YULyflR<`;@`RD{A`na>Y>R9Q*h**(rWJyoeM}xC+ubRcixh+#e0hOZp-|7N
zM7#|@@QfMexIujLK9aE2TN!T%;K@eo8z4dXV>BCM5+Zkl91<$J4XuDR7+;GQGBb1=
zJeTo=H|yQD;Z+u!&y3Un0{E@8Bbk4P{u25jw9q$z_1MoqhL>P#q>KmzlL$qkJS6BB
z1YT!UawGdTghz>UZZ7aU-w&j=wo<A4;Ku)P#<{@&hJv}`O7-x6$BkQ1TRH1qYEQm@
z`f<qdh0?bA>n70*RUBuNSpz4TMW4gjrJHYL$|}ST{%`9#)(+iEv3aT|5C9qS3uz9N
zO{LxO=H497{S;*Q18ngQnDr@%L#ZX8L}+~tK$VZ6P$Nl+1uBFZ)30sG@ue=5Y7Fm{
zapV4ppWz#r|8j%A4hvnUDjs_-BxJCy!DJ<L%KcNnD}^%|vo#Fia!J{QRn}S%;m7b6
zjTA_P8}KRz)}x;g;2VoD8{k!X9%M)Yq-A(ZH<P#xp1TAj_$7q3!SAn|VVcL%5C|p_
zDzy>vSl+yGpuJ^taQk)rPMtIY1MSNjUs|E{)UJ~90pxc<r#VRR!?YV4aauhn1`lNO
zPcVffh`fIPp~<_T<VRyTCp<Wj>kPT26-R4uHAwKYPjNT?XK7K+@breKQgN`uQK~I*
z#|AvP;Zx>JH6Z{3TZ;7D3H_{_>Eh6gG2MLDJk|vQ0j<0h+vZdCM;91$|1$e+EPE5w
zN;eLeAKAP60oBHnOB3z0k<xkTsRb#@*xEIVQ1id~+PS3}$e$j5RqQ88@Z|fi+SN)}
z)4_=Q>OR3NZ<r=MycDaj-0}Y{P@<uTwh5AIO7svOIYb;WW&6}Qvr|h5@I#S<=DQ>G
zM>rT(;o;qR*gTUPfq)XB*aIKUMN~hzLF;stWN3#r#yG=U2b?x}w@%jrb}&C0ZA1P3
z0!U!BZ{pBN2E_1)<A#H24W^NxtJKwauMQIy21RsYsLln=Arq@tDe>td^de#;9A}m(
zjc~d(wS@@9w<%3{CX@;z!0FNWF`52(Q%Djv!OdqC@_@NFKLmnFgbFL1W1`9YASl6I
zT*%k5cSN7zy#q#0*tG;9R&fyWQDD1>&7)}U!OU~WyHHQP6}{w(Do%9wlID}(Jy-4O
zlOSf0lm0@x83P6Bk@r?DRqEXZLN#DGb$4q$hTn-p>6xm;P)pjzBFqSWb)Uqmg96ko
zDz9}jrTn=68mz+IyZO9%EDHjaBa18vD9dR~{9l%Ea|H^^5CiUa0slU<(dm;;$aQNi
zUwifPF|SHtz00OSjw^(-$UDlif@uwc^G1*aZFM!=qYmRds+t5lu~X;L)O~}n20vTq
zN++f|b*FZ|GruE}XovBMRD>eE(CN5oeovdbst|$INYg7tq>KI!M-}nBc{Bq8K_$Xs
zKEgA=l;<gsAv`FD!BDz!&`3DY1XMtQFQIl`W<}6#q1;)Cu=*s3Sv~1bSM3F^{|)T2
zL%XyD(*RfrYY=^ds<8wU7<P~#BG7NOX5p>P!1^@6YioBMl8aShx-HFka-VKLZ63^s
zKro3=NzT5J<GVd079}~UbTesa6ZGX=H|WfX7nCH>DhmWnJTrmrA`TrODZV`h3k(NL
zPQ34`;jR)lAX^8pPmq>i&KC+KMW;@BiZ1#D)*u#!DqY`T8o2OQMvLv1Vu?L8?X20Y
z9RxUk>cS$D%g?Lr&^&5d1&RQ1{YL{zgzC%4XbHZ@*M}?5V@^(Og*H>JymHVP6Q>Ls
z5$&DllQnVMzsHZ7i`saB6N~*HMi2(Y8cgxr_wSo>1`d7&huGcG5sKv`z;dapnTv>?
zqU<hRg5eT#7b($%x34VC5+FiEH8^DHrGGLf#+<EY1lVnZ>DRk8xZckf>k~7c)JLNP
z+nytf5+pur5K?gR+MX4!&u{=b(JoMZ!aMc*$<#Af-4r0p$(8>><^QZJ;tP8g=n}+E
zV-J2mBkzbdwuGC032Xj*kl<$c>ehjG!GZc78`CQ+{am>peuVjV&_XUrgk@mD<jBR1
zFs5@*336_Ns4xQbwSsVX7n?}A_F#8}PBYtd=RxyKW(0z15tiv=JTrtj&XNqJ)f*M*
zF%2<y_NHe|;zYWE5G6tnO56D}+~1bhe1<@R$NhQA4r?QgH)Howc(}lt2aDxNWE?Kh
z(t_a<3zS^6Ovwm8FY|o1VC=k!90r3Bw=MWt^FXyAK&!BrH-z&PnGc~7mS#|iu!Im5
z85AonHmq6Jo_O`|-Rwt`&Mz{=>UjLqes8}zZrno5s8e|l-O?bCGW15=J@vbGLf(vE
ze~7t5`(~OzJ6n_tgq?va7c2L@j~vx#`y(u~JyGO&R-cw`$T59HMMBwwkF(xQy?@<E
z2cM_YjFA!{V2H3pK;{kxwHK|!P-t6B)OE$+vnSrR<&P(Ak^7nIzWSQCYJ4$YwLP6d
zbpV<|Pq^o*(P$aHK`40u+DAhQtIHQ6m}V7Y23_}q4_vhlYjbdgiSmP@W9TmqkM=Dj
zt>)gIM*z*DB)|q}vCG62L!><qM3tq$5Md<?M0=E48^hh<w1g{X3_g3(sg;c0#MSW?
ze%xJG?K9ABya%i`8dl)8yyEu>=8F@(MAu?@rH|(+`SBOZY7FU0F5kzye;+y@QJ-#x
z_3pRqejw(_9zuY1F2;fiPMOwS;ny18JR_w-K)11!DlijH9tdzCy2SKv(%MrAXUOJ1
zp1hw-gsxn4+o*+kJZ)|%4gqyQG}_pINaKZ=!~YD>){YjuVzd=l==U}5Pr%6k0$!pY
zVz@*E#|)zU)*vH6EK>Cnkwnisg%wvG_4qXV_XZZ3aT4L0BEv9`ry&qjix31~Xw8;}
zO4)Z&k)f#+P8owyA)l^7iN9=d?xY`=J=!{t;Fvq695G->!(Z@bT!vY3zC`XSq(9Jy
zk8c)-ODz9FiFqF=(T<T}m1z=9robCQv4wD~A%2?7wq_8ZB{;aq)MB8HSXN{h=J7NH
zf@%@Y!)NmV<g>bo9@Zfy;evH2_Y%Sxw&hPIAEuOb{i5HGc{;6(%x?D(AYW+%?daR4
z4zn$B0S=A<g>8eTP<)4Aj03~vT?L9iaQ>qYT=4~_Q`2h=>X-@)sEFHP6!sUEUT&<2
zP|Tw}fB^dkw<$7S65)a(!!VDhArMd^lx$|i#IzNhcsmW$!gf)E(p4YJIVq`*g^9B3
zRzI2icg$IN>&G{YeZ8=-%-ul1CqQ-V9nt=-+i(GzqK^i`yILW;fwSRst0@!#BMbo!
z6|Jq9J?3Lqe1etd8*t3?6%|^9cBqeX;^-$dQez0PfAAYcrkS(Td{kr@=J7NH0!oBf
z&b!vc8)m_YySIb6vX!gkzFVI^`T4M`rhItgIP>+_b$O-;@W^|o4zOCqNXL~&V*K(q
zu!wG7ER!W%bn0mXusiJpU^`BzO{dZ?7Ao<<M;JJdH2INsoxCFMAk*rEr-i{G6pmAj
z!$n$PX19U}a8?*vh5Sv^vP&;nzoh*wE~msl$Ns?=@Ns9FMpMufzY|O%WF3|MdKHgT
z<wDSd@Zo!5+dHG?-XU(uuWxhylz%EKapx!3U5@eVMzSEFj=XW|02L7<tyXy?97?`s
z*%q3|;bBPvEb@Ke^O^*)#^C$!xuOl<<hn_e)lwOS@n%fB{%}%*#qemem>K0PB}Qrk
z0TLkn0r(w7aw}B$j3L27QS0LVU=kr(uaNKVykuR#RjJFUyfM^*-lZVKuY(YGldg5(
zHWy5J1{M5cAOCLb<CRKDEyQ!gEmL-oN}dKU(0wq0)vmydOVwau46qc5q}WU_3|oj5
zXbOD~B)Fm_NrJ_OoA2}4Gtev&T$V{s*OhN*=Dr?80KaK^d;Y5jlVGCGfIv`*@c)ok
zHapaK(@~NTg^XCC(9X(D3`4Dc_|TtEehqcw6YWj%kwsH4tIMy$1D=V7n*P^t5Qe}X
zFO`Kp7xg7OWH*!id{0o#AK6JH!_Q&EQ+%9LsL@08{dZll64jWt1UJ03!e{WEr!XEZ
z<glr2NrfXf(HR5+g+Ne=kc(f|utm83JLVB0OvDBZx!4ZgHC%>epT<^k*0w*NJjasm
zoPI3}o_Xz-TjJ|K8MNcWZkRd@-jc`5cjf-V7Q@iOv>o~YZG|S~jy}L5+0O?J!T2ON
zcP>0cS73%!oU4i#OOGWK8wp2kg5-YWC)sQb0tSJ?5eOy`DnYNRs;I9DFOpnOAWOOr
z5f!wwHU|N04$r~eKn5qQ>b1>>!+tUGd3c}B`QVx{|HK`E$^XH>o3aBI$o;N##oj<?
zC`xvF<h{S9JM@*gSpP`x>p!{h%l{g|3*pzX3gq`8hDm(B93G+!9~UYKtnMT9qRo`}
z5ZqX~5`htefI*-L1cFI~LZWF@v1v580s>G8xY1j(7yj&k3Udb-3E#GqI%$WCr!JLZ
z^2=BZ=wIQ4`^JBNU0YtKBcjpB@&QeIE9rg{^I3lt{Ie~xI~23PYz&JS-J~1>0Y&N3
zld~K`5?qThf*-vP5?qF{f+WEt5tbvqg2SXm$fi+Cv1!zZLBJqT1OmY%Lg~VtAvhLM
z&hph2B1i$1G)Qp(EX4tOuv;SjEi5JUSt2CA`0^!_KSL${U&nS|Z?MJOw<e9Bn={M`
zU)=Y)DTBf>YbRx?T|nMnTW+asq;NM!O~1Lc?EdinM86;M$o@YtVn#2@Ql%L<l3Z7S
z{N~dVT#_6nQDGA7+Ump|5>2D7ZW=9B?oBubfx1K>m_*p@zAf79U|WQlURRJJttFUC
zAPd<G(`XKZ1vQMO1Bm1>TUnoDB*F48kDjs=WbzTl*u4+^RD`X!BO<c&wdlo5GX-0!
zbGuES-m7mYv1!PWn>&`;9o#a+veXt5$10>Y!to$Dm2V2iAS4-ULV)y;a5R0Enf#bR
z@`_J_OEFFmmf#XJhr(G@8-k_6pwMv0zgY!_DiT-Y4q;hyXD%27DuzHXiEu_VCXSkz
zTp6zGZ|jPoUCD?@ih6O`<Ult|_J*}J3<L?w(MGds+{GR|PUTt^7fWI?zV0hyC$9k;
ze1Yb+Pf-Emx|(ZS)+*O^Z5g)P9btbY9o6E7;<|orPFoVqm8}V^n!bZ&x&3VybGKMl
ze?)|(rreM%LB>*I$)H4kD<OKh((Qxc4s`P9FRf6-LYk0TO@1Enb@cg>oXRbHL(l|^
z?p4nc`~X8FmaOy~V;DD$?w$~x^<4Rf*^E-^q12Th5jceHgjmjia>=6Fn<S(B5S23q
zzE>ZhzPO>BkyK0A!6ZVWE5+NW!uG))KkALJHU}~4S`$r-q(d~P4nlM4AP~_|k03)J
zNRW^cEw}-<%4Mj1+Hnu6T;<rpSqYMihmtebIid~h;aN<09>ggIg5Vl3e=1vQ8^Iub
z^s`d-x57y)PX~+QV0uW_=<Cx|jR)}GlhlrXqP$y@Aio)weddb!A1SeHb&>>`#PUX+
zJM?r+GTtdeLb^eAmKlO<p9|$!NkfDHp@KrZ;dCbq5mpfNazynB0%c(uBFu<xvX=MB
zk>o?PxTOOQ1y&?Uf}$-m{LzHj>6}l5ybH~lKGE?R9`jxho*R#QM8{)jGKjPtoUgEu
z<TMFlyYzEc%=^$4YcNMk2;{B_ut!-C&?K?S2n(ByrQHux#}&JhLB`;#<RnT$H~sQA
zY<|a;EfjvA2G>wp56j?YRJ!vp=XL-F)vs4#l{loeMj=W1jFrC4w$EphmAAeHe;5+z
zlUJ%vFeF37Fwo`;Sb_@|cqGV4wYBsx3FZZs4P($rH0O11ZQjIENVe_QW(I0F)pdn^
zaEVaaZ=f2kKZltb{^eCN>Ga2GK@;ewm^<|I#on5NDNC@D3F#s(T7_)3%`CV8Z>P-H
z%vpngK_FiQf=h(1{1Ba8Nw151;V}0F9sv*whexb}N9e*&Fk1|UNzece!8&AXW3>ov
zXx%hgEeSH|FbD(~0ly(Acv+l1_P<`6Ty-|f1rPA*&JoFu1ju=~m!K(>v&E1E`F60M
z&~FW{np|imteVuAgct+@jX-dT&?~lgurc0dfqsR%&K%ngZM1!~!O8Vg^aXzO5hl+@
zv#9R~)O84zzk}8wxzLC~z#ve51OiQjaOM9OKJ^1X5q0@rliH1eWJ0Hy)tEE%laCy+
z5PgDNOEBdWQ>|Ge5gI0}*3vQQ3K#;x?IT1%VM4C|;;WxT*ch;KGug=l0S=Il!(D3C
z7p_>0wFFnK^_oI$5KMLllsp2iz%7~s`KOBdEh~_16NN#bM-T`!5sI+$qHt`}G}<Gt
zR?kGrW>E46NpQ^?C6;5Z&}GY9(c0c&1y)^uU>a0RzZT7e{(;#V1PlV@L?F;jqvGM{
zduU(!0##$GekmuIChVR^fX$$eqcA{Ti3RhO_#6xB#?U5E^-ZB^(2)ZT52gWPb`1h$
zMj+T0p$1R=8=E0eGdZ!wBcOl49JB)0Vg>o-@CIFu;Suf0zQEjL@v0CH<i+$4R$;lA
zBn1|MU|WPJHmTIJ*q}-@5>x~@ECN%cilrDBzX)ETU!XY@GrFa$z*=h#&>o{8!<?eq
zfcf)PpnoF<0fRs>2n60D#2S2aEXOvUqs6=>Rr)LmkZp)-Fce}XEWnkk;2eXJ*49*4
zL{g=BVzTnG26<DwHHMoPR&iEL(hLGMfk5CbLfuaYW1%KW!z8k61d`?*d4S^rm!L23
z(?xKIS?*bdnjE_hrE2eBzVaqQd;`G!74&b!AYc$E27$m^gh_Co!**+ELor~PXL}w2
z_5)&ZVX+og;ObRMtX=CJSM%WbLQrEq@*+Y8%F!Se7s3jx@Uy4ZTDF5!7<Gevkbgv}
z7gE~duQ-4My^&f)z$XV1Ag4(C0{wxj;TWT*P6K(=y7)DY#4nP0^^d#A7goCRk?G>j
z+PusUS8qwM+Dv~fr<#4w18O+~g`~YMEJA0{f+y_7Tfue^SS8&^Eg|4n^R2B|Edt{L
z*FrfakW8Vk<;fT|k!KQmA*3z^R!@|CuY)R|AY=DHx%hA?rxxH_(+|2Av=o&+KFP!j
zP&Cj7#zH4XA3*Cu>VgQxEw{wQv6Eg#?RhjxHOMP^2jZpWFOVchZ3pSC!;CO3&~@k&
z)a%hQm$()r4%Asn=9&9liuZ-EOehEAWCJVzhn$UtvgN9j#m%sqpu?e8Kzl=rkrq7s
z0Q4`=LC{jB6~XnG;1^dPQXfR<mE|MY911l=Sk3P?$bf_2IUGV0U<)ijSc4Ad2TBq}
zHO~xF479p`kOAaXjp{FfIGRQSJ2Xg2iINwz3d<r&sn3!D`(#Mu0c^oStMYr$caY{+
z3Vzx=(Bla3ORFx#S-0{bWRy)9MyeD6_K&$ByftuwS-#YTCn%ai@vTkb^9-OWO?a`%
zO6E`Jv5;z5idM`bKx@QEHxK}6t;S=wK(B<dZXo(3!$O69nTJDv3vxZa(1*?aJ&!=$
z5TSVT8dezpf|@afJ^$WyN&yLgWXI;u70X>cE6f`7d~xl-pm>9J%5a7Q4*TGTK;EK3
zL!XqTmgN16xp4yol4N)@E{uWBhZgcFg4;XEw{SECWcZU#XU##?BT&dsuj(_?RRU3W
z+>Gx%Hn$k50t8s`lK@*=u`<L;SFFHNNgNJAt591<RglI?C4u=xrCfkLqU-B*B4G#F
zS*9ZJ19w`3w?gkNL4-RZjBy~tE1<gX5!+(OwFF5rL3D*cT@hj8;qiY%U1PqWyLv0i
zd|lV~Aiy>d;A#-ys+ArAvLBGwiuxumbK1)hJoBtcu#i?c4U}3cW{+7>jx^O%m>??7
zLwqvykP_v4bA)pd^eTkC1<Dp1Lxv^7wk*Na6%i6ayp#`PQ#amFWqE758E85Iu36)X
z)ff}lf(C0&i&oE~#|{?yOVkgU_qf>i1_ZS&!ng`L8Oo;3QVEA=oCW<g;@E{`SgL?c
zIHgCR(4SxFQ&8a$W6Hh(AK)u19Bo}k=M!Li8^-~<dMw~NjDVwOC`B7L-fms}Wz9$f
z*!LFAyQU;y@wPaC`@F6ID{*E)P)8xi8=*gi4lZ%<4317TBcLS11F$txr3lm=5sJT#
zneR&RPn1WU+acwDBQ*iS;iU}(*s|7z^@k2x*y5ZbjY1NrcOgbzvuGhmU_u$8mSdh#
z)68E8Y{`2;N*h5(;qY4MVbF3e(Z<*OJJ9KflcZ>*3K6KMafBW4D>%*Q{s4(Fg?WF6
zcRX+Qaw6apU^_@J4y!L7SK0&Ahnh8mLEVE;w{RBvMF4;$oNJXdM40nM%y1E8^i7<;
z0LsDiY`(0Nd>s)@M*N#$dlNo>lI<atir&PN3xWEx2!RHjW>6Eqi|V+P(>CS8xo)m;
z$V051jxh8F<vwf|!+IIZpF<`rzg;xr9a&C-2tk5NP19%=d@`H{0Y#u^;L;7yQ=pY3
zK|e*?V`m)nN~A?k?S^fkpFw_DW?Mo8>XHaO{1kr>sH)9-Sc><F1W2bBPKie4z9v8e
zZ&r9y)?mRO3IJ8fRU%<=Zc8IwAON!27Pm}=(jkVHSx?F)i2P^JX-L=BbfPh2*ptQK
z#a*{V7+>k$0|-7!R@XgW5;d9vj``EgpP1+?4y6N(u>iX+Og0}|Y~t+BhXNQB_2)wI
z*tn0oj;X%y0LdHy1o+W=K6G%EpwSEII0Jeu(zm<uDDC-DsaqlxbD{|tgMUU5peM^n
zp$M>1nWU!`)*r_J7HrrQ8fif8Cr%_lT7(4)iPHt}mi)BfXY1$z5X=DRrO5Jcpx=d-
z(;=oi$kIQ9)3MQ`l+H9pdJuu`{1kgIxuuOd*46^oX}P$xp$0oNT6-itU)dyTq%Z`u
zHHcpxIj!)I2R!9E>x5&50A)iR#IgsjkpM4)vR|&6<v=9vYNYw(YEER((^l6+C}v-^
z0tI|C6unxkmW*UWfCNY-@lj3lXEvm|I1da{PBLBGn(?w{MlO<;oS*S}9iIf5&>`kD
zK!6Wi!EH}C#B`?wcE>{#k@lZ658VmCJX0J3^-YApE*48%hq~!)RPCtVjpRbWkY6rz
zy1s_@OgD#i%TqKNyk!5N5DOgFo!51Y^>YUZWC(IQ5jq9>O=zvjP$ZZZEImp$X5z6m
zU*`m(0#f%xC}u|2SxS45*1c88irN>?YC*+qeu_RMCE0SVMPl2HHc>Br6bQ=cGm&r?
zlq5j`2n2+|KEU5W>5aKX4QFW((taV79;MqFCz{HYq#;6J-L~<j_oBXk4YgBp&XdX&
zKsChVH+!;z4%t{37pg1kYDipw(%^kuz*DrldGa5W@-y*xlxykLwSX+>5c5lb@LTAS
zP)=!9DftKy(b<mOE0px_NbgMd{x;*W)1h>tVPB__3Ls#JkRac3Zrqjb1njlfiwVSE
zt>4rc3d5xiJrg1Lu~{HNV+Hc1D7|PR1etZe#)LJPh_$$``%&prS6d+_N#a*X^;qZ*
z6;Ayu#CIN)Ua71%mO}ZN(*2^v!)bzFp*RLgGNiR@q|68yB1{6@KI4kN<5hkb^Ebjb
zJ=o&n=gJ99A|Sv95MUTvV+EGC%<1D|*#Mo@Wp{;vNbw2k+qxw}5Ca`zP6dS5L(hP6
zhL%zh5Q54noZEF8^cQHh#FB1u0ru%^HwHQ%%F-=mTJ}SD^e8<ITO(yepg!js%>rmx
ziHQj*_r<%sb(ULd_Ox&P(c)`BsoPXqf5?%`T$S?YTeB#YA>qK47B>3^wWY1W?q)pN
zQN~#SkDGbj456kU10f7S2F`_&2-Eul`5Kp7{)q@kzB569Yy8Nt-->kIiDRy4GakAd
zw3M<d0;5OiU~I2T#)pkr)~S>r<L7C_M_|p2@pEA*{T|1GahxFm(gI|&XH%0D%}pS}
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
Q1_k+3Q`T0hRj`WuKb@+%djJ3c

diff --git a/nginx/landingpage/assets/imgs/Malcolm_banner.png b/nginx/landingpage/assets/imgs/Malcolm_banner.png
deleted file mode 100755
index c528b14e5a837f5989ddbe4b07e0711d022f048f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 45303
zcmeFZWmH{Fvo1Q3ph1#Aa3}b}T@xU<y9ak?;hvzuLU8vG+#x`)pb730+}&NzB=0Bh
zzGvTk?jGZwe>;rDShHt!b#--B^;6YNLKWo1(NOSF002Ofln_+{0JstGdkzu;_}lae
z6*T}Lae1g{K$Q$!N$nl&Of9TUNTKfbCZr~A7N!8;HdB&l^?CIhTEN2&mf-u>m|ld4
zlx;{0t=$*ms?MGbb<~EO-}7iBUnzQ#zDQEgJ<9Ms*m>ur^x4a#sN_`1R<M2}JvGLq
zMeu%iZD8>Jsu;R+vz@S$uyd2uk>_-OKlf{ghGcR9!;7$!r|KQA<%zeESJUuG<HLDL
z&c$mF)7Sy51)?)o@nk)&)j9u`c;|%q?J{ZHBfaIu1?s0>WmN<u>U(pSzYlam=UKak
zV};+^olA~d!Fn`17C4DaQLmw!B{{9FPhVWfAoa*QH25ZspAp3kR@r@}e89tkl)c2k
zX-25>BKG~xc<yvqM%~d8UVP#m->k=URl1OHax~{zV|CzGGT=m(yVmqI>Xo1wJ7IuM
zMmLJ~npNtg*^c$z`=%E?lL7~AoO#l)@es}UZ`Pq3+$OA@spP7Ww6cD@lgSffqhmK7
z_J%QOg)X`?t#+_wjvU?tZ_^!a*k)t9TBXgC0tQwUmUtU|4R373JxP9rrRr1p8g_mk
zAtM{*?nx6U0YuLcqjr%GyU*{O>{T(Vsrw?HTnp&wK8@k3LytOz(Xucnd{<B9+{8yJ
z8g3&K^t8tjM=^%nRkq+GW;cSMoH)cn4i2e<0b-g|X$g}WKQP6wyk?QY(8QRd2^eTq
z!^)~77ExFq=C30J&yH0lVHZslr{F;9HE8qVDSY&5)-7wsw6yoeQ)*|6<J7bpwe04V
z)jNhgwrc9;8~Hx)3h>GEq0Nfp^B$KgiV@kIF1@(!<F|>|G;1`?XdW2}lq;^>wk%@8
zK>muw!yq+gKHScw^1I=rR@Y_D=3+17>(8_IXH35{a;QkY<{=i0miuIP<<$5<$;9P$
z^$`qdQ9~v_00DA{RgIDZTf9R=efyD>1+Ppk5K~_vvS9X+{jBveybxM#UUXTz^<9b=
z{M3jJeSmkI^xx;|xx=m_QP38Dzfm&zVMwz5#hA9F5WeWi*lpqr2}v0f4pQq7j}3ig
zjG6XH2NP8EIIeCon*O>oT&Xfth3M>;v*z3+%IH>#sVmW{QDpN${pSct8HI1th74Og
zk<{_c+T#T|w$+ZB`RYNjZ$1{sIikkmBw%DzEzi}4A9dT}Rg4K*|I~lqp$ZgA(J^8_
z%QK^tq;C5zoQC9q^Lp-%Qh&A?ppGyq2}{bVw&`Q>)Uv0G(kTpL$yOz-e!?;>CO)^t
za2|_YEoH@+#}`a(a?10YCT30gFvk>wU>~AzIpR{w(T)EWM~N>fbrs)Ag{jgqiH}d`
zndKMaCm*JoT0JHvMfrGyk6-f6D+Idjf6VUpK=VTRir(!}H-W5I>vMp0Ywl_;KuhcI
z98%2g2Q6Gy6pajRC~+Vc5C0YvR!X_nks|tr4X<%UtIru8RcG(gZg#l)yQ{%8XS-+I
zkGo2-5l+VAuYSq3X)jOayVQ}o(oL!%*u2HnMHg=z4<!WSzqu&x%eM>uoc5BgcM&L(
zYO)>Sk<zne39GGitx)6Y3m+Qiv_<_ek^_7dNBE{@-d}#`_&&KSahXr#r*T`!6Z<00
z$`_(F-G#Z1!asV}H5AQQtbU;=rjJY_#def&ThF&UmT33msL;B{Mo!S3jdujvW{1*b
zLos`@hlSV|-vot;{^E=M_Bo^AnP#PMWn5^3J%8Tn0<WI$y&nL-tZKMXanQBPrRAT<
z^Kp#nRYs`bPCa&)`mgEruV_{rbL&-mzn@(rZ1fLPE^-#TH1@;X1`KZ7SNcXju~N)T
z_<-^YZ`Hj(MZ%Ec^%^H?0Gun4ciEQmwm|t+0moO5E;v8(`w!$TPjn2?6LBhQ-H0^W
z@jPS#kiHwGS?_I*A#|k>iYI;Y=WuXy`$}mehP+s<ES5*?!2WXXxOVI#ap+#(1~V|h
zNM|0KMOq8n_yRXV^jiBs-BdR`5~$AkN$tgWi_fx1m*=U;b*7W0K{h9aJ2D~ZZ3O>K
z99^09$q%tx1yUt(6NsS>EZG}cDxRR{)nslOX`-+h$<MzFMPpvfG-I|au$Mn;cR8~u
zad)TUm+SoI1v{tkyeaTgELQ0qv8XAD&^~33=#fJX=g-iyUFYovx_wqHy0F|=&%bk6
z!<H~3Bx?De`iIWVaV}E_^T+DEPB}Ng%u!NEQL9H#D|c)>K_A>H)?K%Cb9hCo)$Vvh
zXQRf$92?0WdR(Z{2x-Pu5Jy~G9RI1K=Z2Zt8uHrm+3VPu84dajABxls{2vXb`!8$;
zfdit>Ae`aRbf;2OkqM<w4J$V7Nxz-MAU7A0lO*hfBG%7|<U`5*^GY;nwNH%=oPXi0
zp)DP^9apdj$q}H(;XEHdN`*nXiiLBS3M3O%ds80SI_c4a8oS5REB9>pmt=lOxM0@C
znE3dY1P3YnACb&PiE;Qll*i;EoNt3LK9h7xyTM~4KYyv7{A^7Fi5&X`bA45&>z&0C
zo(Zlo2KMm2ih$KhWYA@Fp!R-*!m?}**?kfnqQI#Ua7eBxl5&H2IhN<oz@e#t-S-j4
z02j3v$5ikTaafsmO{GDx0@*s3@bGO@IveW(&E+@YZrshyz-02EhW6@|;Tz=Eql1P~
zQ49u4|6UyH-4_KU<@1vK>CDGZIc<=zVtAHtvDlI^VBH4V^L&6-Yj@37^N@i+ORBd^
zq_ct#d<tcU>*^h-^KxlFeozZf72vxa4IOQI)@UQDA{FZeZ_{_Z#cQpaqEF(kz%S&W
z{Frd|@nhywA}6TMcV2Ax*QYWL{ueR$PoUwG_aEP%?T|s^7wGTx?yi|EG2f9>#a_Gu
z0GI#^5fKGR5s`mF2oN}=dPfULw7(|oe5ah34MA7KQtVMkV+i@kZHfI+fou$=gf~&A
zC4dS|@?%)eqL%%kQN{M+a&ggzB2pwDzi;(Cv<(uW57H<QLw@f4?nck3Mpr)tdX{l(
z0yvd^*3U<Yi37zU{_4;yj3!)R3DYlv^pePKk!7BjmmWB4n)4g?gjv=D#(wgY=>`o3
z&&poN+i3A_crP>4|I%D`T2}nPC~@24+_}az@Fe(2Iv%IePo8Dw3Jr6Eyg<!ig;45H
z3Qg4<FS0$y_>-4rH7W)Xp2s){PBX{PCoRy)BcCt`zejq4ZJh~^s;I@GBtvN-w7x`Q
zfBU>1%hAR!+KAZX>n9?iOOo6Di9Y%8M#(nZp?kyMB<-*DalWeC+}upn?oj(Z;C&lO
zzIQ}Ryr*oM86y{eeZgt(FgF$}u;_@m={sT~;zB7TOO}B+Ke(B~`g#yDRKI;bG1a{V
z_bI#dIag~N8M9L6E=QEBYxVj0L6VrS&^sr`jKyfV4FJFhvj8EThO7*)k(~{rfw7&T
z38R~hJqY;#fM3YX-oVJp1WIaXVrF40Kz`8JLQZO7EI_W#A<HalFJfYDA>rX@qU<53
zV&q|E#A8e@B#6TA#tSmAF@YM8y4hIUI`O&*kpJP!3x0oWW+Es3LjtuDAlHypAQiE5
zG$CbYWM^cCymhm1VI>ztA?0^8Hsw_k75fJZ@JWE&916APWnyx5b!BvAW3+QLV`Aaq
z;bCHCWnyK8fD{lXcU!1|8^qR$;*rH)JVZ^Lj2tcOp%!+wq>nre4DFnu0_5c2d(wX}
z2j3dKbpsp!F~H;VANEdAV<t)PfgPL=NWjF(%*+j8W`(fwF#Wwh_*Pc-U%hRe{-H%s
zpG<BB_Dn2{%uF^m|DlHy^sURk$NNuvIH`chnn}sT$<Eo)$mFeyi7k}k?}OS~J3IY-
zOlK#P$EH7WTN|4)fkOQm`R{$iC1n-<)#p)-W)?Q~e|kJp|DDp<=wEd9&W_f9XpD`R
zOsq|8KtY^9&Mg0d9%^Cw?*;k~^Lc#pzX<{k_b>kcf%>2N`XkF9z4D6M896@=Dk&;J
z{wOc6v7M2HG4G$REQY46ENna`5CditRtUR^5i5kp(3l%yYz(dx7dNw!fdTj5SV`JC
zK@Dt;OdeT*%o!~}K88lDY&=|s%n$<uR#OPODJM6Cn-jDpE+ckRR#rA<9v&`^zp;>a
zv;aN9!20h}J+d+eS($LN85tOHvq0F4*jOO!Tqc|lLw0Ufh$*KbI}133p%Ev`A6Ad+
z!23o)Qh=P5k@?>(3f2ZtQ#(f+0dg4&TW7a_zfiHTF;RvZJSvTalZ}gunT?r^hl87w
zo1OLFL~16EPN0!L@?>FVWc}-nu@SEr$k6~aHVYdAGZQ9zTeCl19+!m|oD8T~gGb*0
zIsa(~=fW%EXkq}hb5yajvlbwKl$G?6<sX+K<^PAX@XFX3{pt9J*u?nJ-~Qoo!Ukqc
ze;)an{ww1DjgzvuovZEtH$ML+{TG)vj!;)SM=N<pc|%JRBj|t4=RYI<7bhh!);U2P
z-6j7Illp(q@&9G65@26DNB6&tuWaJ**VA7C$=c$Nsz^!y1OZ+HqrcSeWZ+_A{AUS3
zJ^uB|$lSoz%mj?K|8TW`wp;usX3WjTY;3~J$qwN*F))CzGn;Tg3=LU0AS^7#oW`8&
zMx3V1rvH(<lbtEl)xgo@jTvYI;5vh@^=F+)Y5rIr?SG_pH8%lm1j5Y4%gjvv*Yc9`
zGd%{>e@>78G33a~^8Q@`{Es1tSMt&Fl%4JEtu0I(|D$65X(<0Mbbssr52O4)b^klr
zU%f@_?A<}9HHXT(+Wwcr|0jfhagebvGO=~C`>#a*JIP;a`P;q&%KTRwxSxUBBh$b3
z$A6f`qv!lz{Pz!Y`@c8>$ohW<`ETj>f7JCq>iTbK;J-!uKi2g>>iTbK;J-!uKi2jC
zo4Qc`onf2Uf<Vs|%%8bkc=W;C8^KUoToibC{K;&}j{#ed?Ikpw006z?@dFb_k4^wK
zB0?o)-y*J|;$Ra~Yp=zH0stu>Df&jmZDu#k)lKE?@2-O?j+EMzdHRBYc-VmFmYe!8
zZ=ZR>Sbs&z)z`cueS)Q8O<HzI$N4&X-t%i#F#Cw-!fF5c$(=(y&L?XmNzQ56byr<a
zJRXzvzP=>3i$1nN5&zeum`L!j{zEC4F!t!DRTnP~c}l;)MnZr@?PFP()`=MxeK9qE
z+A;R+lr@M{Uc;M`FDMYmrFx|!y%H8mEX-G`P6?1jLzcv|Ka5_J;u6*R%&WEQ=mfOu
z>e}$z1b$(B8Sh0voKRU^#Zd)ysm5w(Om?y<ks-yjcb*r`QpqW7z;h3*Ikuw3hODXf
zLw(*ripszFS5_`hUO3e;s(c;08Xxa}`>Hb{LAk1E0EULFQ=Swv<P$<Iz8kR+!Y8@H
z!d|zht!xOXEiwSfXG?O-eFHe4$X4b61MrP8q{e)Tu>Vz2#7tZ3P|w!Z5=E&9TP=QF
z=hw`~G8Sxm6?R#;Oc=oWWr`XdN34{HGCtarZ7JvXXCh7CsHpfAuo6iCL_W@48;!+s
z?RUx+7K+QON$-PB5~P!V{UVqq`#=amK(lA>|5aj999<nNv8`2ka<Ws&T3Lj#wkj<L
ze2TX8APs{F-|srLg}sc$;`7fGB9kR>BYpuR8dJE<DhCt7ym*_owI21<U;k+=to?S^
zsUUp$XOM8nDIgdlV$~tG2;M8Mt||v_a6TRp#|+idt-LC!vFKChh7++HMnsU9TBNAc
zx#1fTi?>xeN|VB87gbeW_gnfgmZA7-s+M0l*k3DSB5NKxuK4vgJP2BHL{LyWZbwmL
zvyW5<-7Vje$?-EHW?J;DTAr=#n7j(?bk@YvRGm~-mafB!l`8v;Zyg5#)?JM}x&ax=
zPC3$3T{2zx))#(3D(d+TaGx;z-UhJyzYbu3HUj_N;2AzXmW@rD&-7@!%IeB1_R#P{
z=9A;<?GZZ{F|``-bcVs=tw|2ucA6sRc`bO<D4B+E^@{GRDmy&vOW13NHiHFUZv)8>
z+uaa#I!b3&ujd>C^>4rA<|@5%<LA^#gE(w?B%Pj4-=3!4&REeFs5UCG(Vu@}Ap{49
zeKsP{t-%bs$H22Eq;0Jy5`W3%KV-JK(6YdeBR)C^>lJYRj3TwaJK~smsr*c6VQwV5
z!`G*Y?k7`WzIrLHozaiRsvmQ+!W079FcJ8NC+ot-?!G=!^vNm<xAqm`?Jzg(CM&5N
z`1pBi5ubjl9G=y}q{xy{x2T;B-iN2q7Q{&=e3ouzEV1pQ6i!C6fb~b(+Bc!_3(Rfc
z?RN$~gnXg`O_xeI`SqsaRJ%x%Is(F!0GCTZ%y{_E<}Y((>DoE9a$?<Oe7bBt;R#pO
zp@LMdBsms~YU$6N(eSx{S1ql3weVbx6PU;@*fdkRZ&#2Og&H+M*zxh}uWB+iu&&)%
zONqcI>VehCG=6RSt?h{8JIM{yW*AcHe+p!~xl!{$f~TMo{RI+fKhm+}KlP-|lEU2O
zIen<Vku)g4;TDqff#<gZYpu7shqqj*=!>)cuWCdD@#+PN8int}C=eOZFHE&dzEt>(
z1};}tiaE~)M-y9fKFO2%FzbcP0J*exEdQqcZRMgxx$<*a{H~A-@5yMF*cc|6?4JRv
zecYe6$|;!;nPU5Ckmn-9ljnwl>S@5?<74YSR7k)OM{~+J?Rx>|-QVwqkTkejls8hs
zXZvfyi+5UUlIO`Qx>&WZOKSuEIeSg-ub1OSy6hgDDm>1*V`lgE`lkSe1yXT$6N*{g
zfQx{o&-7zc*Ya9R1yxtwrFtbFdm*L2$p4`bi@S2PRvl1~(hWjDPgLRs68IsLC4~~a
zWTUz%P39cF7_N^(taq)s;*^C`9q<42D|X1-oSprbfx$p<S_CaPSE2?pxpdK^yLD+<
zo6s!+Je05Fep(_F+#$YE`3KvU1-zzf(LdDF(JD|eoH$zU4(gxO=vQeR+P|2;c-n|z
zs<u0mQ1NiunVnczxbFCuB0@gxYZ(KCFk>;6p5|hfPYPK;Cwp`>fBoG<@@}{8NRpMS
z)80Y&n>uP0Rqg6(8iylG3uQ|&6G`t6#VX_$w56XVUOCrPT1v){lPIXKuTM-!<w->}
zHYymK*{qw;E!Nl9C-U*}XnB0&*1F_p?O*8CqBK|c_^B?P9F^9mUTwM#Q6G|M$`kDY
zh>acbx!B_DtBu;mw+7hgVl72OqgG{;rUo6i;Ym_{Kg>^2iW@k<!QNT78O{;3Xn}Td
zmXXpaF1NlvSHWe(<A?CCS@G(@9=<534K@|<tNXV@3^C;d*9!@G#CA8LW?-Pb)N-*_
z)hPMmz*zrvOUKc{L(^TPt7LX2g^P{u-q!q+nJcsQm!&pFrT}=p!6YHG#hzB65s_|t
zuW@7t(&v6l`{H_T#c%gkmFEY-(E)Nq+`D37lNx-34_DtxqQ))p>D7q(33$fFkE1PM
zI9(TVzE#7JXCZ5`IVAL|UT$4jB?Zf^-n!jF@9`-J@}Gm&fJtUkP6)#ss`6W;4MyQ<
ztN$PGws<t$yTvWqW5Q?K*W=4i+NrN@rjq%0&)CsY`4isx9?RUXo%U__a+RvzsxVq?
zJ5p!0waGbsi9D0n`A%BB@ImcYg16UKkMWNZ+Qd;6bEO5NnPS;N8C(}WFvXb;S6^V^
zyz0xV_3sXnvV{abb2)_9nIF3yc&gQ*e%v;oTWpmh=)PW1QQ;_RzLGyKP&PX@vddM~
zA^oSb4`jhCqGtxE=r$&y=(jvuOZZD{*tWz)8N!{j;nbwNcW&E9F#A|%_BiU&xu<r&
zm2LGJ72~06mgAFwYtNg+r`#UyE=YR&r*3q91V=~BOebxf5;7K84O4o#e{nhMj^+eD
zK_!ER4XAA75On0#TYsbm`s{~Gs28$p5H<;!{oGk%Y`(MJum6@^iHwqmV9OZKd*FVk
zA-5K9!&Q4A0JXvcXrGNdIv&F46@jLYraob035DvU?Rqr%AApjzb97X(FT^=}a+7!=
z7FGKanOI8LY;BCj=V8b6IL|8Y_h&{dAJo^=x>vO|HF4g}Tr0>0Dm7b0mjz6l&qpW7
zVS0z>pE^6UO5pPx9xc|ozxxOqbh?pME*iMAh4K`A)xX!kpr1PCJC69l;61BPVN@W`
zgYVj^z8$)xE-K2$?E@!amlV*Xrlatd?z<We1_DXse`$MMd0aV+93#QM&q7i*G7>DP
zbuofnR8)EjLaNuB3`a*tB9o=MR<cs>4R$34I}e!fE9}5g$ce>7-_`3)RO@&dFJ$L=
zW?UJzUkyv*ptS7DJ@dvnZCjZx6D#AdlrB}+;ollJ6R}=y;nvlLD7FumdK;9@>2llG
znyt)Y^8l^0;o@&w_-6Lfrr>x=LYzYasCwv&N8N?|{lcbR83||4hh91z!ymX&5Vg4Q
z=rH2w>FMQ?A_Wltn38F<djU@xp|Swyj?zjZ7H?)aBTG7q!Lmn%3-93IkVEs)F}`<=
zuhXz1n<?I30)Dt7<UYl4o=Bkm_h{jqXO@%Wt7BR1QmR+)=&p99ET{d`y@D<;FAG>$
zSn5vniBI%IM=I;Y&?lVllkM12@VDucry0=t*D7ey!`>?ud{L!Cn<H1Q;?{}(nd>nB
zaz)I2p2FU0heM)Q&CnQ$1nbFd10*k3Yoyr6%;4Ki%jnmlgsjpx2=ZKtDeh(Q5?dWi
zgOsn*7~RRLGRX&flI0VUTs+;}TKoE*;^E;9nX@;@QGA($e^0!GYtfv6aQLjC8Bw^e
z0r?T@nsjt^r9TVn<bUxZ<_H-Xxqo<gSkimz3K5Y9J%u%Eq3dD+pC_@`Vj<hy#H8xF
zu|I)P=ey2re|>Lf3*Mp;2N6%wi-%42hm70%nqWL27s5^zb-_wPxM^3qg8+d@>D22{
zX<uCxbXkVRdO)@O>~GEGOXEHTw!!eHHj;PuC<v|#@eG+boZc7TX7lFdr)(1QIYbY^
zv-i85x;RfXnaxbh#A-p(u_`Qj*FNxFoW!R!DO6W6)w~fG7oVD*CZnfEWlai)O2G?b
z7#7oy@Bm)Jjl$$m4mIExa2Ua`VEi`u^*54Aa#?0>wGyqh4#NtuDve?SMMcG=raSlU
z0MBOThXR-k!7GVRo}L4f=H|EG&&2lA@9=~OrGLFc>oO>Ob6AFL0krNgVF)x>b_O6n
z2wv=(@ca<j52*3LWJe?9iT+)E(NprJr(*s`Qp_DZS_Hl^_E$_^zu=LNRI0nw;>SMM
z=PV0q)Wn6!Z${Y(cl$~B^}i{oq+O109mEXac$-u9e{H89`SRt<;o;$HXJ?MW!onF(
zJk4k-%+rvHeU>dmeeQy0PWK;3Z^12(6f-;kn_expv!lb>s6yj5ARwR~T(}>4*I&n~
zL+_reGZ5XGc)mT27&~6)O4z&e+;gSw2InHrO!=%N%!=!m%h<$R;}1>6lAtC?(HuEG
z7++-Z4{Yu`3kxD)VdPKL#^x;pg%Q-nIY%nv>|K~Qo|0_;_}xrjqRL@zXNCYGnjo<&
zxKVtL+5Yn|)zSEY)a8qJ!0i0g<&-t&?cLqd;-cT_>1pt@VbH*kEYdLZjci2zGPg|E
zc!;(O1s$Cwf$V5jXlQ7Z&0Is=To`fG#bvl(Nk&O(gRyyeFB~<BiY3~Fk0&RGme=i?
z(1T=}vd*j_`x5V<F5Ue18-3IJxrcc5T#wBB{n|v_C5!W`d}V8{TWJ0DW@xn-aYFq@
z?}-TiIpOzLibdL73{dA<QN1^i?Hv;9hTT02ljHvFtwDjC)l4{HvSN?X#<lHj6klK8
z)zwu}CZ;GT=OcR7?NZ*%tBTU~WAkIl#r=~P5-DK4?e6Fxw6d_^iA_l0q5$2y7>7T8
zD^>IE;fmE~=7rq(I>srjvW8Nb24RiwU{uRH0@r(~B{d4K`Ss<`L9@RfV$w?jqRcje
zHN6B8>F1-$Yid|jA8J;FZEQXuNWDUhUir@8bG>4jRJ!vXcJF96o5+2uu8@EvHYkuM
zL#xs9S3o`q#_xkAgKgtow84pqmmd%@#B_CuMn*<5l?o)NMZleTE^i7Zgi>{i?gS{8
zWO>X)v-m&{ANl(At1j?sWo0GfcDHJfKm3R%Kv+ZI;WX3xU0J$d|7`e0>&e4Rnp!pG
z`r=0+m)TTRtr-oQ;xlz!3J5$9mn>GL0;gS6N<bw?ydcl+6OMCmKqSdAIf9jVGxd5y
z*$kDyoM_&b+xn##x^sc<`I0|Zopn?6UFMC`6hntMv%_T!8zRZ!Sq(CK*D($f{Nc$7
zTv+Fivz^J|u`y9zY}huxC0zIW4Y(=!!V1+#jDZ9%9EFLEt@>17+t6^i95nQ2tVz~U
z8VsB$s*9is*qyx=BOk)jm{Z$rwI%3O@jFTcoUbI5z@k7w++;-4e6ki+1Yi$Q_4kKy
zrNSJu#Mi8U?hHc0h+Mgu?BSv6nw~!Pp@j+F*2$ogOvi@)a!edHfZK6ds!0Nu>M7oC
zkAMej9iwBaYY|HsamKii`NDADud;imrQz`6Z4xzxP+VHfO}$t7G^8#+6W@IK^4-RF
zPZ~7Zn(btkSiZ2%_hn^F=E+?p+I13$!jCHh;YVmC1d=KnKQQ?z{IxSO18=+)8D73y
zKDk<X{`~njFfawvd}N&pA&87zcVVNrIk=|u(81k-A+EKw)MlqwBj&TeT<tfrv{GCk
z*p_BgrcF-fU}ni`-B9FqB+sYX@*0k-?%NJaa_0#C_;K47_&S<yyJg6PbbRETh`(w_
z!pq)43!T97?M96I4Nkb~SK<0K1-0$Z^i+->=~Op%k%Uj^hc#=6*L?lc&1}wZTxyLC
zEi_jydU2xC2^P&L%;_UsaRL#K+;)Y0#&x{O1)9#kkR{Zoq!0uMld-b0h9Gl+xExw%
zh_Lt!Xo)VoB^mtu2e`b?B7GUg0Yrl8kgN7M+wKNU@x;*3uoPck4Pq*DI!6}iQ6AEq
zq&FRVxVH7M&zIVSE4CQj*mQVFcwYm3qLExU!<DeWotmn1E$Na)Dcik;_9_mtAw_pG
zn8qK2u>l8LCxB=hY9{oY+h#^|f%AfPFm;()=j^H=x!PL&g)}Ph+z?H0-rF62F|Vd#
z1gnSGyDFiTPO*aJF6}b(2t2-#(b^LBc{lg3zD`xgTuBTjYI=IQ{#kJ~H8mVMIywp}
zDgoKq<RglhNMc9?ep5XeZ(awS3RnaBMjcm7u!j@{Vz5iZ^N9Mx5nDuv_8+nMvgmo-
z4l{RqqA9kbqodcs&x?GSByt|F%knIZ*rYyR!=cg+d8&vt#~Ds#LGRK`-leeID2$Ar
zJ6ymf-1!+E-j>tp=J3rqQE>3tJ0(5F=!aYJWBTC84N9qP?HMAgf(pg)Pd-H+>RM{!
zp{cVonbGaDv-LW2`&vQ44T(NAOV&mj<@7>prkdV8`uS=%+;LJy?u#1dYV|t0sDS&E
znhhywf)fqvi9;Be^X%GVcE`jN5lu~H(Ki-%kzc3+$AFJMoKf8bs~a1L5n>;9cddJj
zS-rm`ATFAX++ZSI`;Vih8?XY1N^yXn0dOnvC)~6tfRX)YWN7I07o~#l&tJUAxZEx(
zyA()$HSi(|-c}nDncA~byO;0uFuYq?vyiUq$WQxFG_S$cEjRb|{%Ep2hf$YaV0PHk
z*jVM={e8Z4wB6f---^l<syn<<gBy!SNrDWLM7`TGjt*%9{<0xqoq%um^o5M64$W-y
zQGU@0r*(7ew3;3b%BA_$)KF5)?fshzIk9;}*-;gH`|_NqC=Ad}6_k{OdEp*w62!r9
zi^$*%LSk4zs7i{9Tv1W6Axb_xu)e;o2u@|ila6GR`r4~*J%*NT#?kNz;JYV9e{Fk`
z$0eT*xy`GakbI-K=X7@Vb??3QPnX@FZiZXk!S`T!Y@6T0Fd$#k$Dn@f$5=of{g>+3
zt$}q3<9@ymH{-FNom%c=SY7ApHk5x8ZdTG1>#!KC&UPc-&MU9Xj~A(9NXp1~ZBLYF
zb68kdWLhLcfya#rq1{U<P9MhYGZx$*Fc27sibH2)Xc*~GKfCj|rFL|7o*fLFQimUD
zT`P`VUI|P4q@-l~{!ahgXd!)!D!GB;a(Ya+C1t0coOZ*Op<91GmQ*X3%sLP;N4YYc
zXR1O6O<P&kUmu@oS@^E$Zgdk_-91?>lro}*&(BCuWY{gA!rOKcw$IQPN3Y({(cLX1
zsi@)&g`Sf1_xDR3Pdru(2=FOd-HP^mWq?KD<i9{m#4G7|iR|ob7YA-a6EL3de*4DF
z=bev7yw1CKmhdC~>a5Ck6z+8YE~&G{w&iF&uy?InQdWSya@0&}e$JJ$QD+i4rrR@x
z77JnuIsn!VuQ=s%?j8K9FB@tmcTR`vYzudZsl#ew*2S`#EC-Q37Psb6T&H(KR+FXJ
zlvGrLKMX7QK|R$%v}+ln*q=ON6Or`-LA`{I;*`hIuUP-_T5lC7;XT4)!lzHn(hM(m
zUNwXS2M_IlX|WY`<Wa5N&i9=B<3i2{ANQ^L)n&L`7v8S^zDntbUCD*A;cDA~K10RB
zvzLV@$2(AuIh4~XXLc6<{L+=Jts1VngI`|my|n~9HftvOpPH_uPlN?Q4E5Gd8ySrI
zVsvr8B*BEl)5yqZ@Y73B9x|J!rzR)1f_~GvJTD$MaV|^(0#7lj7$SBSmZU^bz=klp
z!6fdPoBX#-K?v2(BUjR$H4C?igr3VX!x_0^yxn=LBk~tS1BGMGUbi$jwt=D)W6rbP
zzh{awQoQZ8Ep%jQc`j}yQtbBUGc;!>+}ZN4c|-#|y$wvB7~r68`h&)F!b3Pv@(3K9
zHU?B<lBqF0xKi~_8DIcmKxga288@6?2)o&%)11Bpku_{<TStfJ2DnjcT65l*sweiy
z;r~83!Ith4t#+0JE18yeU8p<qsRO@7EwfKn6DHT*eb@1FU&m^(C?UciSngA{vfVx{
zw6QWmkdFQdS9h4!s097gYvjAQYJ6ofg-M+zeAUDy_Ou~RxoPV_059zv@&X6PtR2Mk
zN?373*w|<E1vZcCYGmR=f;}?$=?hp`M+%siP*G8#^&0`@Y6Fq7lL_lIOohhmP_!o+
zs&i6>+fun%i6|9sT9{;>loysO^!I(vG)c_J0WWJMrTUnq2Y!mT?=UL7P6z`xSm`R)
zxFFeZ)F^+MG*wHTro3_TkW!BB|BgyVdwJP-x{%(5F*p#MabKZbEJV<w(kQEs(|W44
zq@*Mw*FuYkh^Q%LjM;zaLjSCCBMH%Ou6ujvc`I}z_D?pJ5*iuVOpJ|P)8Elytl;H!
zI|go+f@2qYGy$rs8f5{B?Q<p0X(FSo!N}e62fX$>uauT`8FHPh(9Jd^p~-yOp>D|y
z2x-4_4Q#vEZ0xkUKOY+j%5hhSGfwUW%=Wf_6!H{%xVYuFfh9iI1Os!srIl5Fa&j_p
zSZFAZsAa-yQsD-!MR<K3lA?AV06v%YkKxscC}M$vr%@*K%CD`j%gM{gJheKgiRn6D
zI2`!#3~q*Z<2Omns5}u<BF1YusYWYW#!~5@eTDIxytalvzT_#*4QGARd3iwgIp<+M
z=6<(uP(H(MC)eEx!6OoX>l^|U3UKK*dDPf}6IP~+E2QD&^|)B>43p#|!@Oor)w`5A
zfg#)zahCY*{6`*nvX^0bfJ>Q9{Rl)*@LrNJ!P8-DB=1SX015Ay^Em-iu<VK>w2VaO
zyOL7f#bF7CqtvUnO-;A#_-NyBKPObjCA6VLt0z-n$=U|Vg7boGG=^9xqh<48Zp+hj
z5CuB!JTg)z{&p2-9Kz?r>swRmw7jxXLh}(N--1_&iYkaZg8~z&Nlju9=8(!SUQogJ
z9O#NM{bOp)J%}V;3h<dUjEuH!;B+MFb(*yqUUJ=O=R{y!gb=X~{nVNCPR>K|x>?DC
zY{Y~;?89}6sj92DJjcQ5&ZChU)(xe@Lg5T{iqF%Y9nI8eIBSaB)U^4WtmS@}zfk7;
zjCaZ+F1RsdVTK1xHd2#fyl~cEs@*FokU|=75;Yi1k>TH0;70_JU}HP`Wz!^ocYcf<
zs20)y8;tc1+}Q<`sYFD0(hw0mjFSh5XEKNYt37#O(blfO5l{lq0AnB-V27oFRd|{S
zw8{dSKy0oXa)3)4;t+`+2H?8qxe41Uc0-)(AKGkR_t_jibEG-U5m*CIU}9luhVRp0
zUyn?pa&dB=zt>=pTmKuVwGB(Rh;Bx<YvN?6F4+;%b=vMLy~C5f7S@Dll<R+1pt+@B
zVv;{;#}I;=d07X)<LaBJAJi-zQlRph`#nES=N#P31(t;bqi)D8b|;JS2S-ez4}W~u
zKUlRg*+D_E74*JYSYBQZQpQ^ATXV!<(5%dT1uoX9VZd*0INYy9>hAL#&C4+5uq$Oh
zl{`yfUsu(V*bU$7mJlgp!}b97M6XquMh)Kpur&*Ou0SLpQ{CNH?YnSZTs9FOrNp-$
z3-@&_UVd12Wl%dvO|D5bp#OkEIN5E7>Xtwopa7mCVxsGRQe)qN3sh6c7{8A^t;B%w
zA5#1VystUX|8{Pdf$rs0GUKkt;zuy^j@2&)u)NmF3hOjP^E29+D0%UUl9K-=2}#Do
z!b7Q=fPiP~=(=e`-Q@mMjGouE;r`Ah+=~yWFBzEgXg-2kmBo6i%BWG^>b=qx5jYoJ
zTUMs3@c?+H*=SLzxAm#G3KXa$qfZX{8x=5lKjh49)!{tFu-@Yiduz~kLdND8wnLo3
zwy|fN{N)1};3M*+6ZA;u@ZQjWriKXtnDPDUh(~Ci*yFd-0*ElHxQbWsK;l;--$?ky
z@wOu?Pa1gpt<nW|=9mF*DTz_@e4}7=R<ypSzIN$(2Z;KK(UUK-PRfDsk=iR-ASm-D
z73sLO!xjVP@Ffu8g4u%FY6l!Qa+mne9m>!#v$ezjXkUIp_5O!3@B&D5HJT}%S=d8D
z$G71VL|Mf3ThT9;zJ@<&y3ix?BLZuPf)v3B_ncNAGjd9ucD7AUGx+RmfA)Np-9j}H
zQ5;jDrq1^TWahs)ti(;~dD=v}=odb`2}?QScE!mWU<nk>)(;J!;w>w)i{)}=-viHI
z2nC~WI%7ix-(8<oS#U&?!KL*Dqn+!#O6YxextS9s!A*Z>1ZVn6ePIl?XRp=SRKGT?
z8A;!oE4(BXhClBPrmthu1xRU=iO0upZ@aWeE*Phr>)gZMpPqS82e@JM^IdMIOH9U<
zg?W+tiX#OPFXe%$sW84wvxYaT+l}c+L}t~sa4BeAI$a8)clLXBd9`<5`FEI5m%MJ`
zzP_C1Xmg=`cwx`ZlhK(rwXZO1VNXo4`Egs7n5mrjU~Z8Y%Uu?Scdop9arTi(WRLB3
zQfn46THH1@_Qk!k_~+eL(70-}bZNl63)CF|JVwf;AAtr0oYq605BQ5_Bw~uZ)a*l3
z#Uu3(8U-VnrF!$U^kKQEfdnnrOFwenQOiu?u|k)^K6v3YKZxKaN*cWPNkU)Tu$9<g
zDxorGng9#|hK{D+^9?C)W)`}Ea~O>hBK0#$VW14w4b88`znX$L5qb9~(2QXJq?HP2
z@ngxEyy>nLZ?>EJ)OD*j53}`K+cm<a^(`}@H4Fn>RmM8IAJ<a}(FX#QKFU7OQh@Im
z&%Z<r@hw{1EKmSNciz7LybDkX(}9;5Vv8mX48lyoWj<}a*d#`cA~w+oae}%fhUJy6
zY%nE^>2klL5hFP|%T%EYzSCy*z1gdKiyzS?0)jhdeq3C00#?BvY#NhCPB>xOmtJE#
zyn3p0;SC;|re-G&OFCD4zg@m;o&MTiHg5~XUB5?3+`|iK4#e}*U@n@J_S6tvKqF{n
z*!y-snb`Spzl*q4i`g?yh>i5w+{_dkRv)=s1!vj(wM=<_0F(|Fk@nh{Ju&ZLUV=Fh
z?e;pCUhNsOu85z@qBfGL*vLZ9@j>=pUnLB~hz}MLyiq%0>+?O*9WLgZHVv^$!U=sf
zEn7d9JD)L$j2zh?@8{Be&gvD?UaI1wMS!K}UD;+umrN%1`6s9^0~D~vx9RBLD&9y-
zNl|UG-3^f@Y=+poX33Fx7w8z-wU1adq$R1&CHfQ{JDQzDE9=DFO{R~%BS?V;`|2GE
zYxD#R>-9<|Oy(y7rqPDj``oRpqFn$tqUo!J=9Fg7qUwdFi>Ky}Spp%g49mtamt`&t
zGgblYnGdQKFFowS*W8;jeUSEE47Gena??Uuc{l8gz$WeXOn@y%iWCaZ2V}fIQhTUx
z7VHw>cDohl8*)Q#GXG4^-?xRP>uCU^zcWznXm$~Tn&Ew(WMgO7YFLr@cC@;RG2f7Y
z%QjXCt5d67-(Nw<dFi&tNgg9Pcjuc@-WwM^IKH7lx%{)&rgE})iR0yR6)t;PZ9~sa
zN^cK)(b6JQi$$r%HlGonw7ShupW3<s&)YQg8}KF5X_;S&(SECv*C6SG`Gjs7H{Tbs
zllWxO9Y_KMceg8`@+ezEt=v^3)J?<RQ=XX0rwh^|7zqn+;t|5!B8H3a<`3Vfg$cL1
zUCB|xVZVnlLhkxZ{_f_eX1{ZA8*Nd1uhkkoeD<gD=Ifj8bs-k>uca%Ff%rG*3)ee4
zWn9JTG+6f_D6Q%+bSOi6rKzRGD+@w=(2*kuxQM^dSjwp9?=9-vlJE>{JOm-|g+bG*
zjO0B&4E@UX*>)o_)7==G_$kH5XBr+BMv$jKLtd}5AE|8S)Lc|(JF&@o5txs7LBcn3
zM>K+VZaG_H6ul<KJ5Y&O^>9NE-BW|N0<_ySzBHU?Uvt8-(Wb+YR&pV2@iQ~_p8b4%
z+U%|W446Gl?aI*q-u%1)htZFQ+2L4E?10nX)Ivya1LiWikQx`W&g_P*Eio|ZJj)DY
z3_YFE5822t_9?Q9=lFv7h2`m>uU_wr)8PaP5E2m~(7tjMnV6W^7Xpeq{+sS}uWq5%
zxI&}9<@UJuL+btzyX=O1hM>0u4wW6R&HICMSDYY>ku;i5(5#Q0*(sJy{3XyxN$Fqs
z$Gpj*szqvO5;8KWgDXd@IXOA5;AT2rQ1#@U*Tbku8hR(V-YQd=3Dcy}(jN40fPvP-
zJMHQn4#X<ie0nNRidO3z_ez|}CceZ&!-q-imEH7oe=@ml;`IFxqC0{uqekCdMAHRn
z*l;ThDRqAEZ@i+Ssa`V!2p>Y1uGpSVM!$1qR^jWJ1x!um%@2>B1@$HG<|t!wNn>+6
zvbyrwcUO#mekHAy4a!wHz5D$!C$gF-KH7$0(<b!hdx3|D)W4nfyCMjb@d@aCPLC?k
zx2+p&ZNChZ2@-hF+_xh?V~DqfG}yRmwP(T*f1!)BjhgFMdUAZcW5;hz3<4c%Fl#gg
zb7^N4m9aAE1jdr)o$_lh$D^+I%e-mL`s;&4guKx5Q7=png7&rm>22Afl4tt-9<HWY
zHZZu<$&B8aXyt$xK*gUcZDuzXV-1%%;e>xO<SAoh7koBCUDx_8k{XI(4P=;i8k>_q
z;82;@B@aHYzuqL10gB=5@xpVYV5^?j0k84H&9mvPGjB#%DEOU|pFK1{UhNzn&8n6V
zg?;=;7ZDjbU!qn7d8|7>59^HY((x~Axo@Zw%lX+Mk|=uft*T1T$8@)?f}&}D-@Jh$
zxKXfi^Xf1sbh$^-tJyZ}YK9jt4ch!MPi;I-CVeqy)L~>gtkZc?3H8C&?i$?47P~q-
zW%Ft1*ukv96-@LztTxgbRjRKNgp{GY%qP$njzK}+_~jek>vd8B-EE?8wrt?vCn5Q0
zu=K+ozDf*L)+4dPFlxQr+p;SbZqVT)$dsS;9BwtIJ8hAV;>Oz%Bm@Xy51)llTg9vO
zbbLr0dDejA%RE7P@cE)#RR`Dws)A>R`e#eJ!=aP)gX(z`i?f|S+TC7T4{vU6?tsT>
z+Oje-2%X*C^5d@NG~QXm=0Vmo)mvF=jyu}~zbM2!>Wg)GuBy27@LU+Ur|O%+o{cR6
z!AWHTB$Z4{Ig$%4_s2uPHjKbkp|j*?cloCr@{;s6sXRX?#U|as%L&TbS_)I?x6~li
zm8SgM-PhkA)dikWc(iVv=Iy-l9iR9Km1FNq-4^=sTN_ub!C&tUu3yV=qlkmYdrei_
zvbWe6;n>^Dg0qaNZ5lLCbL}uP?#WBIzNgWGNf@T_T~kSuvS)9Ggp6upUdrXt>=U)W
zN3JW!y>=CoAmztcB(O=LsP2~rg8ZlX5^O{8Qo$=TM@FM?(B!SX*#t$8b)}=i^VzU$
z8vNHI$sAUFQ`YCF9UUFVU`au`OG&e=`P!0Oc65XIoHy{j+NGz{CuRLEZ9G07FCRtk
zj(s>h79RJSNfeZw%1YFo7%8dkU%=PB68Q7x=5vas*?@au;_SsF<=gkS-qtf~ua9ps
z7^SZfuaRutqF|T6NKgLakcF#rEG!k=^eIv=J0CY^Z=;LbUj2woKeOk%F_!fHOuJUk
z_h|1)yEcaz26z_*1KCkGF-6-q6bd62f#KKWom+MRSB}_cSyUZy@=c%N0|{9_oQwWT
zm;CpdS)6oacU*pUS?>;-<o%|@%b1s?I1hrle6Yj0_}<@VwsKEvS&$xNkR88F#9fz`
zP{cf)%J4z$D!|RUgNKnoc!A*)mStkw0|XyYQ8hG<=TM)>tEo#%ldPxr#zU+S%Bfjc
zhB?T{3|{&@T2Ww-jwFcx7nQI~>I~Y0f?YQ0Fw5ZyIiD~l2s@#o$#aoy>`ew?z%wg=
zFs}R?F~{=);he1T33C6|cG-~HzB=u+p{Wc_#6x%^v2Tv|Q$G6>R!jk#>~Ce8m1d!A
zRm&|6k!4_Io-*cVSJC+PEf}Orh-etEz@if3%kQ`^J2q-;Ke3wo-SzA>D%Z~(Ja4<S
z2Uc``HDd@k(fGY<mGQEKZni9hhBPD6Gpl7UVdMlpH6VS5s4sNdh}etY$`0^Fe0xvw
z;l6)6M6=Fk$#43@F)Qsy#A9MVEoMDz<bcu+<W@oGP<R-?wg>c+^wna0C?`BRe;Fi8
zyg`(${7DyLA?RCk+8a49L`PSM``STAXZ8?0WLFT(@YVnM`4uEc;|<nZ*^MJNL|(^|
z9$`{gz>W(YJi^>OaH1|mPiPkwlBYjCsop*m`~}{NvFxQw*32UN0FTaTxw<<3HTY@B
z5MIvt;?ZnTNeKeDmAuRtB%w~|tp|1gU=Bgz?EtGnM~&wu1D?kf_a#9K9?Q}9FpU=r
z$r)ZHtJKHW1h2fu4?3;)G`3IFBE1o*#>kfR0<=oFb&BLkLb7&m$mSbK!khaWI7m(B
zt~;<=8OgIrKFYTy&Ob-e4P?T#8xs|EO~(MN#U{I$_L$q?QgOiQ)VM{h`=R+j-0f{L
zYMLzdV_L1lxKN-%*AB+h{1J8=1wkS`kF8gHHChnO7N4f?6qCPal0D|{f6pgJ{7No8
zLA>erWt^~7VHaY6eqy%9#1Oi3f!GZc-=jAS*n#&qJuExDeV|||DER2=Hh<OesuPS_
zAJU!;Ygv9Si`&#`a;@ev3w-KG8T|^WtA~zxnC5=YwMFWq7`2c7c|={W*~cuTEdc=k
zEVWApR}(j?vHZjRMRW#?g6KR+ll~W*l~D;rek?3MS^e`XOr*3m7YS-6B`n=8RKO)?
zL*!iX&HcHEGg0hM6$!~A?s?VF&`v{Ha6@wda6p;z!O(uj6^pWD&%MHBGXrg)m`qM-
zpCA0)wc(pRlN|WVQa1lYMQu9QgZljS*`b1ZSnGZBm-&6d9%B@p20f|_o=*9ExN-3O
zxS!93&UH=~cIJ;mrSzAEgoa+}f`u7p)p}h?+MC92)ruR%ZJ*vm8tAJPf#~}^#-jSH
zLpdj6YksZ<aSwa-DEWv&KsDAiSK~`R7AI!0^niP_yHL%#`<XdnU`0|9ip1zwvPs~8
zhJ0;=f-6q$l1p={RD07VgL{r7m|kl{-tBR-!`pn*S~Aj3?bNcp4Fzk_mLP1oa02V$
zkCm??wGzk8pC2`<&4+>HFUq_gcjcG|Twml)>o@Se&++uoD>-lafY6bElX|jr!7a;R
z?pHxAIXz!w5-lovt+iLvmf?WaU@-4agIZ3O!?o9vB5-C{F{RQdG{^E-Q5(sVMr~-=
zE!CmFSvi<1uxN;sPutvKCGU&7R3XKscmq6#f%mH*Cy!Q~>2|E9U??Hu;kzbkt@4mF
z67<UmFK0conJ9rRPy5cMi;mhSv&gN4mG%RsFI@&Ui$VrqQ|zUFo5dyOKi$9z=U4n&
zJoL_H9UZB9QnMwYG(iVY$f+BiI9}5PD$_mp>$j@Rgg8lsE*$gx5Y0Hy{NsiKvSHGz
zCFhG(My=zNRAbd=-HI9-Xc1+Q6jasML`u|dY-g%1#1Wayf}gsi-rJeke1Sz_<w1-4
zh!8y5eB^4A_7prdAp7~VXq>^_D4--I>=m8Wm;#Oey&z$(iJDZH^bSW(aN}0>^I7jh
zwaz#!NgZL~ALhwl`kR`XF8b5>)JwWebDN{}oY7lbC(uzKSDPf}LhG}6%Vj@z<d}u$
zVGp@I<~@26_2DjIWU5i(Sdg|v0J^MqWgahDi>>2u72h^kfeGF!vmf2@0F=k7h6pF?
z<Ptpjg!;7s_vGXa+SClhFr)_q0e3gk;7y?7EXBx_q;cv-Zprwx9&3dmpi$hLzr?$w
z7@m<_x;ZCbyQ-<NsHSJ&Trs{Rf>xvWCeX|%hR|e9mZr$uy6;!q*cexjv=!w@<@@Z0
z+rHu%xcWej{2_lNin6A2Ey}3w9s9(=;r6)&4|hF#iJi6Hx2BQL{RK-1x@cALa~BGg
zGMY4I6*M%cH;$&igyB4`tF1LGmZUEnrzueYZ)zgOX?>_!NM+JH*)o1N_X3t3orvlC
z<@L@1THH@#L@-$qajnkTvB38IvQX&3GBjAKYGx^zuJ)l-L-N_d9K6v7*hQ(2OIgSW
zhm3xM;cq00S_6J)<#w}c0PC<CW}<PIPfzWF-lT>*3mlmHf+b3`LpU}`8uGWpHZll@
zY<~H}vh&~f_O9-Ng19k;oNpH^QY)QsP<;2_=k~RK&`n3(wG*1?ZMPf>QNSsC14k(P
zEj9QznHhKkH4uZuN09TSk+{1SaQNMOS52<J5iA>`I-Tr{uvQkvl+7{RD3V*aXC8dU
zdFM3@4_u_!HE#_SHr7?e-K?;|Ex16L?Z)fT!(e@W`_$-x|5JwpkL9bV-fWoHdD*mR
zXi_;7hv3<&7XQPkKK-a~iFty`S4GYK5Od&ix$)#mnd(|YJ5&Z5X;r%?Ri;*vx&pfR
zptIRZ|IY#*hgD-+)65LrqN0&e@;k5lsd&~M53#j{RaI)t>!*e#a&(+fGH>l6$OwqU
zBNQZdUf}up_IQru^@;8*A%NE*E*76s+0snEn7iwH@(H19r+FUv*wu&1Fd$ftTA=_h
zj#giI%NgEM!LPk<u`O~C9>WC%jDdrrT9iY-t1i!~3~tV<j$jvGsed&i6pFhzPg>2E
zR#*CUk<qB|?b++1rP@ocdni~#(<PEoV|Mwz5s$Nhww1pVaQu;qBY6CM!g^FC-r~Z2
zkNQ<79lPY#L+EDiN#N(~N`(HAI<cAUhA*0ht@9#y+ULZ-cqid()MMhbJ&Abx8s~H&
z)A#=8F^^Z8udz&l_&43liCM^7qgtJ1@+Th@m<jgT!ZVK%wzr2GKY_amIA@c~_tOW1
zRBzvqo+80AJ7fz;DxTt!z<rCfP0T$zuihS9shyt#?|kH%sp{^x+FTilxqm0(oH7|u
zuKFPC-BjEt(1DZD-8Cjbl2Q;YsJy*xqI`dQv%a(OIV>`@N#}cEgO--d&G)xqFYCXK
zZ##nLLD5YUU*rW|R(q@N1|SupHP(^%)awx3?VJBLr41ZG;YcMSzIB)GReRqJgK)|6
zR$XHxbLO-+ZYJVg-}dB$^E)rsrQ>-KO%{Q1d*zW|=y9s-1Fnwc<~5?TsgNE{3fQcJ
zBYZzMW*^ADzllEHIB;1-Fyh`NL1(MSm3u_sF4XW89k)u%NeK(Q_EJH7(cMo8Wx~Qm
z^uJC=3W{k;k~46+(keJTKKlj17!8h!I*hz>o1T(RY4NZ=Lp%@%?{$aVbAh*ZUp8Z{
zw^-ce*mad9x>=lu`}MoHm_`DbYDMk7mrKD_7@mW>eJKNF`~+T`Vc!Zy@Avd~ZI4lQ
zVy!<Kp150UglT*lvwB@;P+g`3w^8=XfWok?JBGI58iD6-=~vEGMp^1|p4A8(P&!Lv
z#qC{SkL}TFFlSS`P<*>Hwe{Ulw_7(g;0{Rqq@MbEQyB?h80I+SV)sEj^Z_diQNyyH
z-*{OthwDC-BEF~%7~=4PCrt$pvWJZN5D!sk5k9mMhUe7j1N|OS?L0jTZQ7G<t3|JP
zo=Ylwc-pdiB;K4Xwd*cuT?%U?M#Qy}wzu0)G4#3TwwxHT!M?k_J4ksUmll%>VPw?1
z`&73ikGn!d^nC2H>-%)fZ|HvE@Q}t$fBp4Y=;*!K$Gx4OZ{)I21c@&&NOthqC3=;}
ztw}NXiIoFblTf4uxf5@Wjw@_A)nL=YxReT>zq6B?_c<~=iX>(<wRofG%?Q*@phqIR
zx}qLd5T`^#c>WhnR~gi18!ZDAw^H1#NO6igMT)z-YjAffQXGoAySsaV;_mM5?)Uxf
zo%=JBOfpY$a%9i$KH|FekU4T!+{sLaY{3lqj8OkRZB`AkK11N3Y_>zFEs7s*uwL2T
zZjRbA8e#aU1MDB6=q<!eEkz_4H7YQuJtsO171i0(>MxTTt<K=cFuu(e1o}P^kx&(y
zfsI~AoxWRsS9FC!Icx0_27n_?dT)YSUJ__6`bIhZ2P+HI-cmDkyb&TyHr`lJ8nNDm
z12Xhb3AdTH_RNG}5a@|d|M|S3Vt=)5|KcL|bnTA8YKezHflQQyHo}UWZ~E;A*gOKM
z!*Rp31oEN+IQxCCLDahLyftO=rOI@W?|osH1>ByN;&KeMz7=?|owq_=S9d<{Kf?Mm
z!M;A0;R1eZ3=B?@5%CFE<P!`-{(-X+7dm$|G!Dy8qZRB7)J+;cx-&-DQJ*IdkRnr*
zbvY<GfEjE*g%aW2{fG-ULqz`B0}sOQ3`7_CwTm9a5O6gY3%!ZuH{G`0=3(9C@GyZZ
z_}T9V2*!Lv%t#+CxmsO^fw!HP4pvLEzH-7G@85XUh~>$1O&;%t=XLD+#dsRaWXAC(
zUcF>R&t1I3(v*_BiYUe1m|{xU_RS(5Lr8yZ^`?a}Jq>@>get8HYrm<IrF%HSm;;5V
zzhNldQ~H*HO)fl|ZtgwYN?S`pk%*uG5ezJhXBVr$A`e^Mam$PuBEm7A2{dwK*m9w1
z%jj(UU>(ze#&5bu8>kl^w<r|XCM)`{YT(y8j=XVz!-{=q=DOiJwh$hEYen(=;y_xm
zKteC&PohUu9_Wgd4hFbgQUct{pI>YO!)?17MQ@3DY_QUKb#5t<j12{-s_q@Uf4$Dl
z9|z`w7}aQPr}yq9hU;6mzW529;gk}L?y7X$cVTH-o1k_>_$4)Vp}^Gb6<0k@#6mSg
zZbByaPYHpbmoL(kJy%6u&KjXN^9l8UmrPm|cfw^-2|c68LAaq>e_A^K!Ku%ibsQ%N
z8WitZr1)#eBPCpf*3G~~>Mv_40ExP7W7{<J!94(lUhG5Xr?EU9EqDmeKaU_Syw8oJ
zbbzjjM(_LEwTg|P`>&M`LAS`+i}`PP&^wfAmy@;H`r`U{uf{^nYp*6ZV^`(e;}jX1
zNURa0Z-hICVQW&zobVvd1Z}a>N9&n~kB`DHMf0J&^bC=7{~ru4(bB}brU3htKN>O%
z(T=lKwCq337tngqH<Uk@MPfUEEj7)N_4&c2S$ly~nUL&S4-F2`$n4=7gq<?-euM(l
z-Q%dzi%qij$I?DVE}5UCHt?28yHLX*=|;b$%O>{ChXqX;JTUAQnJP=FRS9Ud?C(gN
z-`|^BBZP#jNgn%bBwqiJ{JCTzY*CF3=y!NMYp88B^X1CsQRe3%&48Z+7omqP{uPDf
zj&wk}rGlUif(g32Zuz6uLqp?Rw{+?|#K4xBC)I!^Ev?>JlQk(wIJFr8>N6b4+GLOu
zOmaf4K3|~$Eam<lKa|(I#H8<HVg(F$sJ@k(Km5E+@ucR~D~lhYzA0o|?TqyFyQ&3G
z=MzZx)8>y<n4C1YPb}Xof6sy*C0^dw4!1qkK#xCO&@EvJFF-hketVmc`t*KDt=EOB
zLY=Zd;=CHld8zaqvd}BDNnU!C25wgf-qsKGQQF>i7J)49^Y|qB-Z0CZSPwm)h-F2E
z56%f2F|eR1HC9f@mv=sO@~O~-YOMS9?<?Kka5Do^kav<911%~3_`MaJG_@TU-KXc3
zTF5u+vz~I@oJQH;j*z-iL$yqEtJvX$sxAUc>_c1EjZZ@r+7v{TNOOJF)@qv8_7+g!
zBQ0{R$gavMkcEb%xE3oDraatj%L4XF)<?c-I=2$_%T~BXrZpE9l;3KA=F;-TxVQJS
z&=wXHxXPsE>CYD?ERBaUQm{XIawskIk&kDC-@5?l13LS(_oBykSx*2&?5DBC>hhxk
zR1Gf(>6gpUYKG-E2jYif!XI5X7Dk($fK)d)6vERt^$h@qSr!<Yd|<k}iUIZAZk9mQ
zJvShXN~*iYKvUYi(VVqmA`g5@7o4Qh>$_An8tM7_=YvR4i6dXF3iDI|BDwG^3CTL>
z-5s>yuMv5HFiLPbn(jnMM-Qg%=@Q}ribfXC!xcp61TXVs-CEw!ADFo!@OV5st7W-&
zJN;>qXzNs7a7(I3Yp4?g?g94Pl-W4;tl6HVaik2wcsmzVMQ<=?jpYg3KYGQSf*`bo
zsC%ns&T9LW@>NOW0JAItb6C(Eo8og*mm-CpRr4e-IIPNiAH!D)6f<j~Ptocqqn4ux
zuD(CHVawDN>hTQky;!Lgo)H9Ob!^UfNS8akz3Ji4Kamk6l`rkKfR*4+-{++gGGAi+
z9u9CJpB-64eXhiv!D`J|NYtK}`R@!#>yCDe2#IrVBqS$0R+b%TRt{Plze)Tjv~I)0
z2??@ps{&8>2)*d6NVjq)!fr>9;w@+58VaTI1(p6b*F!zaKeGr?@sAurq(jHTeP$;A
z#x&%^7MY%My2Cg~klBwzx;zlCh2Il*=^I@Bo&2*TQ(beHpGJ-@)BsX~;GyL{M6$l%
zQ>=d|TMHgv(}tr!^4mXK&~K<Zvx(385RXDDwl3U;!F3(_m)Rs@8M;OI1=quEAHLdw
z2f6)K$S=mL)Qm6pt6iF81xeoV$~`+urqOZ_HEG{#va&m97c*_hhG%5Hej-sWW#x3D
zE3z003CTAS^U&ny9-G*WN><)+2qVBl-rOJck9*6&)YigRvb+ia(7}cQ)0OetR_Kef
zZ(bhbAh4$=_RUI7N?X`$1kKY!T3lLUC*SaJpNiXraN|Go`~&J7#p%n7!Jw>%jQSuf
zI*f$U>JM|-xqF?G+UUec=PNr*emhiica=KJmd8ummuTZIi(*2lhF#h6b6@mL@CYJ8
zHL>TF12fum2O?XtTTfaW^O!M{)~*j^-L<8(70eD)9uFOhF(?<54s}WEF)t8Jg%h%v
z0`w~3pmd1OIfJaDAYO#Nu!2{(TjG#MR2-K>Mk7DSY7{;J78ec`eW5{X=9uR>^Zr{K
zrn1@a$(Q?2XdWn1Ol6(Hy$VcQ%(Y0nYcHBF=Wp<RS9(lBJWo?cwv{1mW7Nd9;Eddg
z99>=Kmy3VQZ;1@<v|gfa#bt;7&_y|DP3J-yx(2_Nq;8-B0caADJ5CN@P~paTkC{o|
zvk7>2R=Wf0kkTeSLerfSqdo^0{k|oC_rP97Oa|?^zR`FgK>-HNWxi<wcElS~*w9Qb
zR{7gCxfGeMH)o;eW0p6KEnyvQYxsmXy|UM<1zP8*d(&5-1GKjJ;E{pqHvx2$rKFom
zIJ*<p&Rq{n;iAX_A1RW^2*+mcS&YOM3oi8mz1&Y>Due77Jb&(jNuz}&hw-G$@hU1`
z(^4I_PR)N1MBOnc>zAAQT=>`H_dJR|L$4XdE@OJZ=)0q~_kEZ<uh`s{vmJgi`aC_!
zeh9}`#JtfRc-wA6qb78a45JS$^$(I8&y?}>HRd4P(50IjHnP`H#Yvq0nCSC*-?LgW
zG4Jjm%i~~xaG(afCgr!mQ~_5DlhY|_>RM?_O%1S3n$wEVAat_!b=^j{zp%o;bOKQ^
z65SiF_p;J0B5=0!-}_o6u+Hx6)^y2w*Tw*LKFf=bqr=%aRLbnyOUzmZm!0c=wnS-9
z11kkJ0uDhplo*eskpi7a)E%?0OB6O?(|NgZ-^7B}PZY;(erDRqRms`+t9<FgUf>;&
zIc!udt*oRM%T%T7p+E_E|LB!-b7Elx`}$*lZ3$~W^ts#`XBrQ7Mo0!h+LZP0$drM(
z;+22)&E}t7xBgL_uih`K+aTmkB(y%vkWvxdNw^;V$;nl3GihLAVJO<VsVi!Q8XY;O
zNotEcfR;jfQ+NNeqC@~;B-`25wp8-}T!0GL8z!_-Rf=EO(<=~O@P1{3tdzg(PgP7n
z6JTWh(##og;fJ%7voV}7M{>Lf+#>{QF{^(B(4QeqgRC$tgaT#t;Wz1pacqC3baPvF
zn-qYIDi`7U>>>_JG4J$T_bF8qy)w#15DM@x*~SV0eO4zxe7lTZA<yNoZc%i&bSv2#
z90}1xI=<*$Sm>);!dUlmPM(XbM|k34egV%{q?-1%j>rzK#s^jV^HRsNRu&BP>?z`G
zP6z`@w=<K#j#Jxmj0)Wfg=nN=<M!k(&JzV2mS-7J#75SX1|LkccWyaUTgSGyqMqV_
zhqs%Ws##LrT>nEscPii9JRUr2iTu%k-B(U2@+rGrGE(YW#Elz!xR3xU%4@qO2VQBp
zWg#H!NOV6leR|6Mu5uY~Z_{}}hr|L6ij4^+C)_RbEN*o4H9eYGQRL_H`EHiS?8JoI
zl7I`yx)G>g!&ToHlhYhU0gmUrpN7Gig|eo<8(}cB#46s9KCcCS0KYcs<{6QsF98ms
zRAdg~5zX0XA1hy>Jr4j;!Cbb>34X{r{<CyCz=bnqFD+7la>E@x&90G$9QbOAh~((Y
z)x+sVC@6<&91bBO1YS4UoYbfMz=OaEa4aeSv1g;N+l|q?ai4VMm&Y>DTW@-|d#w)t
zMmuM>j?$jPYya5FSxwc99C?1UClK?zu?fB5F7ATzed0koT}V1lESF0*7~5H+)pyrM
zF!=Qt(>TfLD~bY$Sp>Uygq(*z*>1%^pv=76o;^8sS-0KpCdXz@ygWC{Fj8CK7}F~z
zr(T}S5uhYl+nSjkpBR}f3&g-;;p^8>&vHQUGB^q_G~KBfH>CdbP))c7tPoDyUzblf
zrfH*$jT6oha90J+=FDJ|Co;D@C%!jVU?L{WSuU=uYk2`EZkDg({c&vmYg45TEgRkj
z9Rjo@LiovvFf31#Wvvb6CK~A)kNG@;uy74!DI~zAI;!pIzyj&|`TzBVHPYlq9L?N2
zAApe_Jt-p~H{bO=)DVY?aBm`ov)Ha!;dDdg>*COaH{HLMBc~GxYOLV+1)m^F!ixlX
z+b$|jlsr_=OHSJs-TeroG2QocIe8C3nE8p7W2S>FSx;U|035b45<LNDXYKfjUS+eQ
z_!lk$#o)=x9J;%Z)VuKA338-^vMO7iM5$j8E~-nTX?4B%hhbxQ9v2m`uvES9sn)wb
zJI0-_$S|VGCaKTfG@lTiroe@Hz9FgC7is#{feSwSh{QKBGI6MFoqrztcx|Ue^CRhA
zaLJ8slF2V>n-r#Gv$wEhvbS@@M9@j63lfsz|3s+`!ef<EF;AqC*JE73z*v~WOk$l~
zm>-d}JkBp@dAeJ|T~cY2lEnK1QEVm~ieqYh7XNmrY&PE|$_nCKthFZ>wvUb(|5uvm
zeYN)VrsZ15AANqMyOA)fqAGQgLyl1**i9<b>KX%=J==X<4;zs%BLX$DfVYY%ump;+
z=)avOk`(x>9(aqwL@M&hLz<jGTDmEn$V*m@$#dy;NEEb`zj2CzqOZO2@D=Zj<d%_~
zVQ{7Fh_#iokuGQ9=DWu{q8FFnmHs_3KDmOvp^O}ppO@9ty&0-NnqlvpMdg@jok*5Q
zw5`(N?A*v<Q__XhL8`h(zc*9-91&WD>I^_D5OcV)Jeuq6eZFnaT}~^&j7-_vlldYh
z<_I=}Mf7Dvof34#R@l7!oU{qpAXF@#Hrj$IzUL%%aZP(2iG`F3yg1dKbw#U5u~s*k
z{NKPs`R|_s8LeDU3<PhrIw*Q%fJ!0HYr)&sz7Jf*`(ph8k(0LWdC|d#t1;(!-inOv
z*U^#Ctz>Lw$@rb4rm4Xh|7!_DGi8aIvPygd#++0Eg}!0jM%{NRtZ?_BAl#~dc;RYK
zZivjbF1{J#@*Qg})YJ++Q&GLaV@Zn9>7!4)M?zDkMrY>v-&Hy)jl2rq6iA}9B5~o7
zMhy1W{$`&DLAyY!=;sRJ;H^Mt2fg=EG!1~dFCTzV|F*2lWIFL2FpUtG!1tIgC;UMa
zIRxYwcT7-M$W8U?Khaxjb0$iabEftbwE%<OpA+0%u>qmw^7?;Gil=>S87wwBGIIs|
zj`UUai11L7D(Z+`T<Qh2qIv;xZhMQDUT|7?*}|;^iY2O=K^i(BV7GdsYB=n^I)%b!
zI2cSw8o9nm)A?pA<nBHbO1qF!EP;YTsY@Q>(GRHOY=>9HeyuKty__By^rx})M}Mr`
z$M2hE;+VTU)P&*P@p(o=J=;%xEwI0@B@hm9W8yHed0o#n(A{`XezkOPa0K)bh8amo
z3+pY82kZA~IiKVeHC7ZAHAWuY!lQk`meSIr{*9SD0LfU{M|J=t7Hh0wV1)RQvGB72
zS8{AMzPD#bW$Xn-=N&wlIootq#koEZEL3SV>pa>UF$lH8)(rj0Xiv;K%jWl2C{9$<
zoQcnm%Yq|eFqfFE9L7t0Ld)txQ%-}O>rZ^I5zp)=^WB_de#ntU9-ME)`pqoGgg@X-
z|IkIU(hKn<!wk?h7rFi5>1K8*?S7;_w15p_band~G}kH+JAM7Lne%Ag6R4ZE3@d3@
zhY>kMg_H<S$!J8@!D)01*7BW%b+#MpebZDwMcN;gz+|m#G&IKUJoousjn8%Yzx$_N
zP~zh`N|w2OPpRd?M^BFvpPzYFP;bJNFP--4Y1GAnu3`aj#^5MprSs}q-j{JOHM#5K
zomqf`gTvwOc#f3t+X|qhc^LpyDn9qSTa;3D?Hn|vTIuV);Nt9xAy7l=K<b@Y<=aEj
z%#BsXPa75&G-MDBW`!eaSBc+9kPkft{4+7Sui2(MYy7K(0nUn^^A)Tg9$Eg1DP!_y
z?&q(dhz?J=NkWS(zpXPUX7<+}PP~(Em3>USn67Nj%Rl&1mZ*4tt9de=5qBrY-eED|
zbqiW!fd-@CEmX^dS_?$s{RNvI4qc5<_j!3ZX8Dh_qfD1p`c_y!WF;!BH1DT!oV%>0
zQfdx1Yr-)^xx)IlLuz+NXv=6Hojr%^O^Ase$tWsn$Gm$L!o^m6YWIziLB+GI7?OCV
z0rPXTq7Xelc#G${=aiw%EBvosY@^`d@V~ACY<_RmoJZgLaUR}Mnzx+|9&gHyhs@7H
zRDrq$lIWN<JIAHj?^b1qEKub<G{&X@9TmAJwTYrVk{5hmbI`>}06H$^%*ETAJyd|P
z(3gMlyIz?gW^1DvTnC+w;~6)62lT--1&S@kZ_jsVI!7l!2018EEWt{VrtAdP*GDI7
zk5h*Vze0i@Z=4KzY}&`!sZ?JbH)=j!?R@U9l%Q8Q31n{&8QV864$=QweaELmuz=SS
z46GN9gCW@%e|ba%br9a}xZ=alRpvrz=`AlmLS5QpkXAJPiM4X3v5rjE+Mf4*;Wh7T
ztTL5iy;WE-g;W;~#>qkVf*5U5Sb3`U4yat$M_x>})#^Ffx*+b~b8y4LEQDTv+7-Dv
zM1%0E=vi|7Cx~ri7Vsh|YrUd%f=c^9FdX+zI^Dn{N;XxVxq5j1%bj*z+gCjyL96IY
zB%PFO_E%};90|`x;Nhi~+Is}t7U}o+5OlM<?3KK+kE`eSDb!V#M_+&gRuVI^r-c)2
zuT-Lp3NS5DqK`2Vpyf)GWjXL7`v7gq1+WMn)@J3n-(aNA`fjok#WE(xNVsKD;vEdJ
zF3J6;)_$hNJt3ij4RqO$tw+F?Hik~%?cn4>cJ_5k$N7wslTwQ?JGw$2wZ|%w{4iw0
zYSxBs&>yCQZMBUU2LG3t3^gsB1=RCT>57UPla@k`sfQC^U(hBsuIVSlRn(QeJ2#l9
zB<E&Y)}BV@1Hp;aHqkFNn}s#<Dr*S7dPOK3cKcrLU=!zXpZSQK99Wbr+vgE-a$Y)b
zH^=Zy_m_;m4FXQpm`AFf5+j@efJJgR7l+U1R<FO7CLz{oVKb#AEq`~rL(Uh+&%Lzy
zHAh}!E@G4xz%q(Mdi1%d($WxN$zc)gwvn_brMeFcD_$#G>I#2$AcJVtDtQ?bBz-?I
z{j5;k$djk8tat-B0)yfG+n#qGZ-B*x2OOwS7S8j>{qgS0O}GpkB34TJ*Tgahn?*Nn
z@JeR{>^rZ3d1`09*VFY@6fYN&>GHNkwmKaN)pXR@1<Lfq8M{pvTDJ{s^^DKrKpAt)
zf#9!qlEsKW9Vr!TpRL&E-&EVHnDtqLA1FP$O{u=#5@@wLA3(Sj5icggTz>bfvrDf=
z54dyd{&{8tZC8xCa_3oXAkdiZ=;c&Z$ZE|#!x1_)&rbg8WsBlIe<b~Q89rMpw=fYc
z(`6Xk72QpOp}x){_e{-Yvhd!X#N#2ukaVF&lknhQK|O8lLj2GDDI;1A$rC)Mv%}+|
zL$+l!nJwN^wIa**_{4qF&ihq6a$cO6S5u!IXS8s@G^0kv2t@rmk&k(p?|Z}=YRqry
z2qK2=&>4@2XzbpFh0vGV>Bl0#W5RPnr<_+v0Rw8Y`}yu91CTvxrxp$tE7S0Y^l>#f
z><!14orMIqimrE&oL?A*rah`(mo%ElA=MqeXQt^@t+fa|Wc>NlnASVc2~apsO#to^
zz@mj6vl@divX^B->hm)`by21<&@)Nr?wfB|K<#1XC3OakgOZK+T;2#J#M3}lKQ0D;
z^IMvbT1PHVr3p6cU@cak%^kKetoiOkE-u%~{UH@=Mv((4Sx;7?StY)9B0;(2Eyqrt
zApKNQV|)*JmfxzA`}#P?=3xJAr`D$@9RjO=t0f#WHIFJBBLm(uwa{_a(m7q3=4{At
zH6~s0^*$(~l)ex4WzES;R|P!4=NORD&exmH{qnhD{`ZEf3ESJtilb&|GH|=e_aPbT
zP5oYKQrYw=qiu6E(+$icSKb0~_jAL&_<J@CKvP8V84f2b7bn<2gjHt4Zk3mxba!Wv
zn1IOsI)JF6A{EP5&n&cn-|OydY1XJjR8ON_;g`Wit;tBC^<s4oDMxNIZ)JbpV<USW
z(buYwJb+>8-Lc3&ZngJjx9D$`U<gG@xM^O*KYux+hjh~4VK?=nk<Dfoq5j#^EH`qQ
z4|)YNtqBv{ea`R&PAvs~rP<jRkt95M<DDtZVkdGt@ra4{*})|;N~(v`-K*HsBocS2
zWlu(U+lwBC*!G?NX0bqO?u8rd2^7mDoZzFHkm;7uVVyMJmUyq3C>W?&w&~0JX6L{Z
z_0hq;2UL5lCezlBndm{DD$ft~NFnd$*uESlm;BG)%$CFsH*|3XZ02W+Ie>&FR-roa
zIaCCF&*6yyRN~O$g(#}vZ`ttd6C^~M%EYicw2+C<(b2e$#E8o9`j$>V-qQQ$=S|5C
zCO-EGAZo$KhY$z6A}H<uGE;8a(?!LxXH1Fv6cHpU!ycERb-Uv?`UYCX+|rYJLw4wO
z&0tzlDu9^?`9{^3ksBMsEqc!k%Km<{ycKw;`Cffq_^DUryiuWz_{+>nSxo2E-{$;s
z+#df*4xOg=xZQ0`M%f5U%bcyFasRfoe}>ieMsX<ERmvBqk}s?>#FCPdsjD;ZSrf(U
zOS4`^a5lQJ@Uf(88;sWvj{EP9{mNMfnUZ!oPy6ewab{AH!bZ@X-cuk{SG0!BbAP${
zxjDX^Im;R2?@O639JU}oWg3||%LXlo(R6mwpG4?;6g1RqIk~y%5;#QqSIVzV8EW4r
z3X*JFR5tMN@LX7sSZ2@$agxL|cw^_yk$%RYTZrvN{JMJxi(Iyb_9T-%ogLa)m<nWt
zI!Tuluq=3~3D)8m0*aqVo~zLfy#nN*#Bcker{73Cz0RZ6Khi>a23)_KeqNT|_<U~o
zedhC}E$<NDAMHh6b3ew35vAUtZ>(f=zY$$sYeenq9erhoLT9%>oC@9ms`cC?>)F$k
z7%{x(^hdl>zuv`al9Efs$63@d8R^^&W=0juK?aAJXF@!OCI9=jn{YNGc9LVHoAFh4
z_n+6dI7|f55cnGmgrK8;{<gvIcQvHUNKkg1827~E;80>B{VATR;`}SfR{0PwAcdHQ
z<w_>eYhfLm8$}H6X%NtIXQZTy^Dw9ply^1K%s9hao#Tm-PQbj~+5ZjXpa1=k0o$FI
zwDQ@1OlT#IwVS#2Y>B7Q;pCm*%-;Gf#_9I#lU!gWI#M@Q_@yt}%nBn6x%bFS_s4sT
z?$fFgd@QJYQqbck1<c^HdITGQ(=!Nh)YbtOI;U1(aN1g*mif1DwlvL+wG$j9-*3l7
z7<oND<R5|@jVLa>oU(_cS<I~<_hq9yS5~yXm`kukNx^AuA2AdnNXft<@8-&gDUHh#
zo`~0_{IIu>O2U2sNXwifOrz#v_(o);3v<)piV6=tv}u%37{QWXcU%)c&vc!bc#f<t
z*TM)D#PvX0j*T2>*$+~LW3Zd^Bi64G?{WF195q2&9LV}c0!=TzLzCnn0J~ye0iBW*
zHtE%C8X1{Y0gh0|d1Sn9<Fb&m^D~$CySeq{Dfc%njcx(j8~G>mWL8htdq2Z+EdhZ!
z_GFx=x%q4ogrE{4va1>cr>mVPyH|DAWy1&l!R?dU%Sq)fevNrgcXud!PZ`gvKR#jY
zX=q3=GOS-JH;Y$C^QNCg-R+X|opo`E_0c?c#Kb|CcBhwn02DHFln7aMa=dIF3wwa^
znTtp*;iV@nFlUcoXtnUg<|QWA43ymFp}arM*DCpTWAPkW=u1uCnl<KnQrN?J$1$^;
zJ93EIz_%5u7+D>k-l29$)4D&`#2SF))h$Kbm{2iQ#ymJUNC#^<Ih<a2k|YaCc!{dS
z()ct9S9B#>;CtT7wOW@(H*c4|p9M!2Ij%pkK0PkGMxARstWWV>czJ9;s%>Nr@g(V%
zn6*+v1wiSzS9LM1?>$%#;(f1`#)<pP3q|-<iIDC4CBFc%8Hyj+Fte|Ku5o&{Tv(-|
zF_-7zdC4p*VUm^5#TyySGsrW!v9ujpuM4&$tD7YK=FrW*uvEOp3tO*Jk+6b(P2fcK
z3fer=wK4jx?%KP)xMl}?!oQvt-&X@fEQ<oW`Hh;P3#*^=MW&4OR8@`W+r8fJrL(ks
zES<i&k3tI=?Q`OqewaL5L(;6P2ggn<Rv87q9&r}lN)y7t$%qyz?;MNgSD=oERH)bF
zYBAr{hvtlwj>26Z<m9*a->yYt%bFRhWQcR=)YRnsi1Sa|d21$x_!CPW970FPJ!#gf
zM}&)Zv2!+C!W0Sj@R?2n!)&$l#c*XB78ZH2hU%b-N;bjE<<6Oyc;WCUu2&2~&>AYO
z0w0ttI}1271gX;<x>#|FDzps`4;S{eQvCD`6zN4pL3XI~B3qkp5&P6*Q)1W6zalA~
z#F<@TS-zUtmnnV#$+<LQZ8zyT)O{{?k+irR!SEH5boGmEb;@eR*u~#lke~J6Pa@(g
z*<*cwPw!=n;?7fJO2Cu7BRkQP2QmUWr5UX3e+fZ{_q!UP&5H{<E2~C=c^a&%43BB-
z7VS*i?<t13!AGivOtFECB^4}&eFNwRiCwLCPj^{g<rZ5QAMS!-#zdXcSqHThr(8T%
z&db$?@$;yvv|Vlb#Pre`m{PeXs#qxb{|)sI<#)J=hHnYK*)0Ag=AhXu7~1LM1!dRw
zdYu`k7vhGW2)nAG1-$YZwt<U~@!9JYF#0tbty0oDqN^Yjbo(G7wdt0#Rg6f4mYGYO
zfY9h;KR+x$F{cG*iSv}lz!30wHnG(@qc@%N{Gyl5E9)7!`s`<H7~m6$?<Yvxq=D4<
z3BM;(P3q3NpaPE_T3o7(h+!d!KZ{dimDANU0u>ammhyRXB&-jlhi#)HoVGq~*4i58
z<+)7Uq1z=^peS=T?y1ST{dh-w@s#zPw;NhwCJ8W64K;wL!otI~n7;eW(-K>8e(rj0
zIMb3GN#jBO<$kp^rR#~BZW|hkf){kc9s>K*GqSyPO8+~Q7yrwKDT`4}azjWP9O;it
zbQPMp+_5wc$2P|aAjd6=Da>Mc66-<uF#M|8NN<sdoJ$QDqWdbeESaqT_SdCCzXOsm
zQkAypU{dH=?A9ms#-RD8h!g^Je!S;%0KqAmndBNMj$fZ5IqDM`&hEza<ut?&cqlY#
z^RbILM+Df+c6>`ITpI1}SAmQD9jRSb&fGVVHs=9P4jJQKFmKpsYs+Yl1G15O2BwA7
zZ($CaT|VAPvJF{Y*Afr8(~W?gn65jLPPtfmax$l2i86oho<m)M;*lIeQ19g8?|}^$
zZJ)~vu#2x9MbW%r025KtuaJxIz4`e*@atks0f+>P+-<kouZK{F7~_zvw7mB9@b21A
zq-f@BWMm{QHa;F>16hd~sSkty?RIABp0_jLHRBgu$NXxpm{NGC+bb6(8_KdRm<pxR
zL7wNRVwGqxHmJVA(2uySFY7^G&bPR&hcd?MPZVAL%<rWt1IQ%|GNI+xbPCfZUpzb{
zH3pr^mT&9Ke09U0(T+)v%?ozEqGcC0&TS8kms=<(TnT$!99d*Jaj!818?@FdFkm2<
z6&7ZA*U&C>KCF9Y(j-`-fii({yxy=s>{vjr?m@g~m?I9wS4U~Vw8nV*Zw;v|CT7C2
ze{3f@g#K<!ObBH(>fI-G?8lS7LF}<eXGtz4O9hER<V)Nfd1^PH!(;4Ynv*PW2vsaO
zo%UL*Hs}*2isl&2984-I`nw%^vsbQZB$M$@^&OG$4;I<yw!pk#2K5d_w80*#K(^H+
z;+8&_+F-2*RFc(iWLA^=T!#1f&EnFNwm=p<gfw&s=~h>(Y8jHbNjghOP#Or)begiU
zX=oo0L%P{S!Q0)~nNC6o3V@NXR4m~pY?=`G@XBAZ>NLS63KHr8Mr}uAm_GFs>HC*b
zl`?L6u7(5sbz0jl&s%-7h0zw;<b}oFEJ#o+nr>hESF4J{0aLv5N?$tX++M!e1nZ|j
z&#6_2oEa+7_D>+il6qx^B-^bkw@RR$)osu`bD-5q8Qb688%c_8nyJ~tz&ka)YWi3$
zu+))~!iUcy7iwih{7Y$A^iG;zp+Loj(Vfq8t1)%>rpRyv`u?x(I%-Q6>zbV^D>-{(
zTV?>i=gVDWYntIw8F)qdm!UUw;`+`JsY_|OO#waPSn&}lsSV$FWDPKx)nSM_Yci%3
z9---Z->DSgcFtMeapuT3ix<rh{uwfEYhC2c@W|Z`%4#&#ENB1jXc;e31->b-ti*zS
z;tA5LGx>#^dCtKAUj}ByiYsd2L}d1n{$~h!E%Vi?0akCSWorof5sD@0YZ})LfKsP4
z%mAkgnD4I6thJHD?ozodtcpb!&aWjS8%s;W;s+h2Qwi%gC~2D(#7}1h0-gB$_*Bgg
zWLsS0mZzdZ;u2PjHj|xEh6VsXf=jZUNd3@ZNtvgt4@#`-qq2hPQP%Fg)#APPi=!z9
z0qe2)X7O|mu;0d`0_nx7>4I!20F?CKvP|%@L>b_O+doQ3NGSXlYg6WQaU**Iv>0JF
z6u86mCF3hKjGjqDt5>=ZA;P3I(?LTcBN112*s$74*my9N<G^tTqYxapd~2q+4f^Zk
z{zfPBuuvX7cYVV^(4<Kq+PrcbvTX3sHM^QYMn>lO7M5yYyF)|M>*--$oz^eoH+;-a
zpW=-og~<FPiNtyOB{Zfn(asCxw~68<Yuo0`LSnP#if0C{LZ0gX%L15qK0{=x+C&E%
znbMpk?PAOqD64GX44iD!H8)mTShh^*;Og(>-yq=8WopV}TrMN-oM&<}?6zdyOVK1G
zLc*y~W26g&N)siG+^qutCz+bHlZ7f*#S-Nkh~}ZaYkB}pI<iMz*o~vGwcd!+u|B%9
zzw%KAE4>9QnlpZYp|VT`-z2#CojyKKF|M%CGZgFS1kTn;?GWR$P+Glb=>flU5a1|t
z2Aa$V;5kYPil>jKRKOnx2Pb%nQLAxuC39fT4**`TR#MraN-ZOtjqkbWU<?Boa;PW|
z1%#emZ+%qt<Up<)`(_c4Ow~y*?vR3{xbv<UKtWSOkJ}L8WB$=4YPEOIN)n1k7#xnP
zvJzd0sTUq+V>8t^C)(Zi{IRl(!zp3IuikFkBRHY+;*d&*_>FO@mg>to4l(ifq9X4Z
z%Z9do!z<*X3KJ8Pn@^BE{sN)kD9sAMcPfQavS2y`0EXJnj9nWVtoIHWl+|C;nc;g3
z^CYnGznr>^sGG*dP*Imz)ihr*St~YA7=>^1M}*&;U+%i^4JWt*escJIOj|%C)d=M@
zlcKE#BjckeV6aWu_*`ae3RqQde3q&rmZG0(Y~1ep@9>m{khNQY>sMqw#G*}*i_HRH
z=MqIJ)LMq<4p{^5FRH(Hzx;cMFl_%dAlOR{n>1DHwzzUiknUYr{3H_T(`#DLZTyu%
zJD=F~oivpeCE@`RoZIV`L6!^-er+)op%OKQHLDC@f-;N@%Jg}*kYh;Fdbk=S*5f%+
zC{Y#$z6U;#?C{=o2ZrccjZAua0C%_qUI*`AJLmndS8tm$J7DWCVe|3)tXy>UM~aw;
zsKLvkH+ttwz=38fU@=s9eD}No0GK*}3@-SDlVCgnNLr}1ArJ{nbgv~TN@VnzF-7T>
ztT>~i2gb)}q%x->hqOY=nvf2ppoNv{o4$@!0Tz&ARL@lqtH!_oY@vlxCq;)#QyqEN
z`isGnx#hV_n`acA?50RCFkU``IhAsJysI}G8<}UbD|@m1!en}$KCi(`Gvo<}Kb9m@
zq#L7ii%US=dk$t^?@tFq|FM*RB}ndl2{zEoS3I&+EV+#uw8p|>Bcx?$AlN@V?%k36
z+BAOCzhe*7JO*y(&i0v>tG~j1#wY5h|IY=;`*`1ejC7TY_CZ~sAbFYD50C&t{0rPC
z3!vmF0M1h+pvQ%-_XOx}hQQm&o=&BHLmw&^>nSs1<Cq!l!JyfXbG)C10q+#~u6YkT
z%YQ-V7h9f1kZ{L)?}UCkSn^be?qqnjcY;)iN$>D8g9kiY>_fEXyj63!KW30pHE$`+
zhKQ-AVaTC!vW-ajynYK*<!bf~ja8ihGl;iC;Dy-<wz!^$%V}(2tpD0I9bhiYoFe^1
zt6H8cGjmG;z#|GY33cDXt`h*5c-O(*z;<a*(#F~pFtqRY!Y3n5IzBezdvj~Q8Mv6R
zV6)B;2riO~x_x`?fUc6%ONr-p_gX{%5w=Ek-7kahzNehJf+!0VpTrFfbEAihxtjs-
z^IIc<l#fsDZwVt|F)a^1p04%P{H+-0L?dBY&CrZ<>UMqyVwmcJ>dd1(7b58D8rTbR
zo3*I$26SJAzq^FXfnuYRj5YT#Vd%^)MzMcXU)R=!pK1+$y#WS0c}ojo4rjZ~GO+0r
z_312T=jqJn#J=7Nb+@DkT2|S1#X&cNas)gci;H7jI^vQNZOO_?MQ_ctZ(1E5cLi#?
z?k3e~X<F$&^XzE>GZ+(`fg51D%2-NsDXFS*9bx>A@8umqxR3i8LAzwNR{$lW)N-u(
z{o^C$<pTHQY0lN%`o>I5%EqLu{~;n26%`rRn6-`f;`F#G?Dy}(>U`}VKOjJ}&CSic
z`+IwPB?~8D2!e(=bv!n@(*#^4a(YV6)mCz;zMb$5s=DzUQZA-e7#ZowuE1Lr(xnw4
z517Tcy;_@gF~7_#V^>T<KfNKlbIfvYA!)2@4)UKHSDB<vsC+5Dfm-sO-|C*Ht9yKW
z4B?}}tdk3}iXxEuk0hj=SdCPGA=iwYbWHM>U<BKxfBr_$4J$4t=K{VZr!%SCXIGUj
zvIUCB1=Pc%Ort+jq)o^EeE);Hv)>>Za<j(mq43oT9Ex(FhrSd^&zjpu-^SW?BVqYA
zSn96prF#&)J)*&8jo-=Tc{#gOn?HJ*YSdj&dFu=qkVl!|n6^q5qyqBJs1<zz_`wLI
z<eszLZ2mV%@{7%$+eqVKG`PS{>ilRBHSFibaNw#;Ubt)?o<ELLFAegp{<B^u^qN46
zs`1aYn&c}b$<2i1Wsl8j%oit=zk938b@eGJTl-|&3v*36Wo>ky<(V|?F6MEi7d@%F
zOy1J!xam7)CyR}M>6?p!t6{g{cC@s<^8P5pb^VGxMS8~~bzGytGJ*a&>9C$VZtuGu
zLFvf4+=+msjhD$1XOULuA>)T9CHQ3B%EZCaUanRXHF3!JL$k?7$4{|DyLZcOx<Jt)
zu_1yD2>uZ%Vm$uE=@Y7n_+!mw&IA&wR6t)8jbOpzHwMx@148<wFoqHc=*R}S{EW~c
z+ulf^@iGkesMrEApwIB29E>Y_#igjc2`LALD9P%sv0YK`Dly@3V@-qS2}`wZmUm@2
zT5b^Woj#O_UR?&?R}ZH8zl!R4T|swscKX1`%-{ieZ7kR{=gy<9e-bVy=GOov;p&=5
zhL5;o9STOs_kQHdMz<UQlo-qJD|$Gm_n>ZTrs--UR4JR=k)~8a0F~=@v_f_#0@kRg
zKq-)-4qFBX#d)14KW4-7u8LxDU^ku(vDk6F`o=E(B>7xfRMjG-DJ&la`FW)utkZ4!
zaxSB(pK+}xBCZvpZ+MLogbY}sfzc#J&()RL>UD?5t0p$(F*Mnp!9toOpj*PgxB0my
zQr3T%=QfE!N(vTvKknx{qg_uYbmmpiDilj7+1S|`rcdr*)he~!N9SFbaYo0mu&HE)
zY*Zrm6N}11FNmwO?voTUY&fYm1YFLG&QfkX$a1?Lw-NdKnE1~ip8<pUa`B`gV*zF)
z7Rdrd`sH?amZqjtR%fBZlaY__G(Et(M`}{G36Ai%J<bjqH~trkbop`+|LTNzbSl1i
zGkR>$-*J5A_}lq4e+|OzbKQm@4$xW@Ov70JM6cr^!e%K`a`R$fwH^THs!?ZW&uo-q
zCJ+-;dG24ig>TE3v28~>hp=A=C|1|fS_4{n6nS9z=Gd}oRigYHCzMkiP6MUcF=Y65
z5F?2F<GEm1R?fp227Ps{KcXyrayz)sRX~Ss(TC(^YIt})HS@M6C&wUDgluVL3XCDj
z?9lR>EnBprCNIyVSE3ws4$Z<Pm-Xci+m<o3|L(G@i)Z5y2s@bhi6y|+?{`ci4N|!y
z%^P)VqRx{7?QKxA^8*7WyE#i(@*51<Z}?~WAOQ1XVs6_3{AczCsbmvbEm#M@OQvf&
zT;^7tTu<d8Y5!I=koO)0<oN2WZSQNf8UR5s->l_b2LVb5W89FBI?%p1@GXhtO=-~~
za&wLk9*qVKgSp^1F`%F23ZD&kjvB?VQEQrOv=rBkU){m`gG)=!Y97;FfO{V?N{G_O
z^$4RYjXVI^rYX~`4R6`e!~-?CKoQrc$f|zxeDNVm2hX-9xIxxT$VE4enw;f?@cRhd
zr{1iia0(M2Q1t+UkQtrdtZd~KG*eyDivps)0PaACWG3=50cewz`Hd|Y4gFRN0T}W`
z3|$8E@>{=M2>qPX__gjue;dXZ+o?eK-gpycaDQta?v7o1bL<ong<UcgT9hP|vl%Lq
zs{tYb_JDP2Y0C5U8n=gVh%R|}sm==o8*AEJ<^YbrbwBtdsi7eS23mH}s#YL%u<waG
z7(|c!u;)x~Q?1l)X#vc83Z@l7TELfvlOV|^TQp-07_soligR-F+ifArQP5$9(lG{o
z+-<NR6A_)$AK?}?#cBY5HXDzqyB^PBP|SbL-`@ILHYPhwBZ%pb!D`tqfKXliJ>_6Z
zOwRr|CRguDbRq!B8F~!vNXm|>=Jo7qE6f=(-#;vd<`xE``D2~vc(-xA{Y|+s(W2|9
zR4p3}1vZ($xK0YBkCDtX1=V%!?1ePC-|7g4q!-H!zl!i-?_@Y^xF27*HMGf9l^do3
z_~v6}rW5c8w1E><!1lb>1(u+Sz*(@u`;7oFh9KCW_}u5Gdh%EO^@!xZ_V7Jea;soV
zHYbY|33U~fcOLOZ8^8lzE|689(DgtI-UMuX^6rncr8|g4HN7ixib@80L}R(tim3L1
zu?`#kG5Gb&X$dCPe}A(EGMr(ol0hi0pjWN}4~oH5*_k>j?$4jx{{ki0U>HDA7!iVm
z%r5S!>56&MQ&f!X$%hxjMlGxiZTrT8eifdqZqAIyGm{5HtJ4iW-rSF#&KwMPom_3l
z^@YYt7Vu@R0K<HuWC5%bw@xiEgQoq5rbIS{o5>PA?nsRcpd6j%qIPmFaeA3&KfNy1
zq7I#seTI9J5dZL7-{8B2W-5#8_qENUNd$4q2HRa!iGn6oZ5(kHBQ8GaBLJC$Y7NGk
zfy~rZd|4B?_h+fadBNTCEhp6i&(0AWk*>pip)>tD@0+Ne?ne`lhIvYqOP@^ZmUMu@
zKX%BtKguv7Y`M|VqG$wx{(TbZ%JszpY|2J!1(Eu0v{e71ZzI+FTd<}dT3iE=aUas>
zs+O5CAvx9qQTO#V@Sk{e4%R2<699;CNgdlaO^|G0`u1(;1B>|JcCzD_ueX-Zf-%bA
z^^g0S`fXKgHR1!rqa|3W(zNS;v;TKSY)J7MA)Z8FpZ{awPwX0sz_Q@xotP77xO|lo
zyIb4P1Jup;_tRVE4S*->g1mqbB;S#IO1;6R6_swIbaKv}ob7#AE;Lg$oCMj1Z&w%B
zmw*J(K}<-(C3DBPtTGdmM^0^k7XU6SYe-9OE8F07I181SM<%z{y;x}ZNz}2H<}Hj`
zQWW1NE)4ZIi*toVAcuaQVja_KuvAHsT4`v&1&bkt@-TTgUA`q&#*XZ@0E1TAka3uN
z*&Hf0Mp)Xhu9%o7isrj=ZzpQJ<AD<v_S$smV0731B>ESxL#3m=tUnr}B%hztVqnU5
z);r+*;-E>_u+O8r|5*HDC;n<0g40c480<3vk6(WTtq;T8v7?|{Nzd@j_M3oXr#39e
zpocd;z7DenK??6kPyjo&;9;KaP!fXV+cyiqlfehBTcSj{RV7EB^R&>}#$YYsL@u>T
z?CW+<zvy4>$UH1~>O<ty25po<t0h_M;^KMZ+ru0NtcjVEyEU0Vnw($9l|CM@O}*+K
zGn+qxo?0}@cdISuN-+SHdYU|SIxxgsSbo$Q-`9&5-1bX&#)C~Guo1W!CEo7a29Fb0
zImVqgwnovD7*sCE>%s&{)B_emF02v#P`fkF@36+t44-`$-mG!_NISf2H9+Hkw!m{i
z?G4at?e|x6%h6{(9Ng>0WVejtkmgV%H4bfZ5Q{RS7k+k}a&N6W*HOS!k$b}8s-|3j
zD27~jT3OEF2MiQI6TwX%H}oum@`t5}wv)@f(dwx=Q2!uGmso)N-`h*pblLl}db^%E
z33k5;<zJCYfS-)jw}XdQPhDks)ENG<+yMTC6I`N9jZtXBsLEA=Y$)M$d2m7JWxSGE
z-iAU*%j?BZcf25#MC03+r9HYL@Nt>U{L75*e)4h6o_QP!aIuMjqYB+jJhOVdNO@jN
zrf!M>EjvAX^*<PY2g?0BO@0}OAaIX!pQqo*_sjGyYwJa<)i3sb5E0C!ia_Iwqwyiy
zGWJjjs8FkA?FAwbf|^Xv-$+4SJ;~*`JX^z-$y3Moxp*$k9AcxEoJjPlA3!9f^lC+&
ze^I`<SxzMY*$<wuqx14yJq!E2ll-MBy8or6)h<S-+fuu5#v1_v5~6A)1Vfv_HC>wW
zrG@I@hkqX~-iVlsKm5Zu{-N(hyFV&+5<4T89cx#8r-D|#1siKaJzm5YDt<A#-BvfZ
z-@*d}upv=6$Bf68_*$-J9C$K9SF0MN?Y2JRTq!QC#^fn7KquOTa8wph*A#SXRjm<J
z);%C9ARXwGMULq=1aq@@0qXqu5fKz!)4NK+iPC0GlJ5@Ewag0n1e=#%d$)JdnD2XY
zYedess>4-mo4<9jLuX|<4{-BajQqtL8g50kj7=9Z3~|0X#aC!|ACP??{gsxYl829R
zLY|8Yg9J5cIzmyv%lr583L_}NncP#{Q}rx!pC|j1P~~4BE0=qbNBo5G;t!hCS36gV
zj)H?~+j7<-kYTVI8m-JTl?}&ckxu)zXMCkb;%*Mqd-~1WtCtr{tJ>mqT`RuH_l-DE
z;Ddvw8OS&;2du&hVpz;xQ?F)Ne~VR{dVzm|i|UibZ+M|wL_h}4Q(9{BGTyPYhXf@O
zd>yN2D5UR)Sk?IhTz^Z%fnDROSKq(HqLM`<LvLAo`>aQdkNe)!r6>s^`RW%^E6F0w
zYHh!>IHQB)E0FX<$67B(-VP@iUZ=&uB)V1)G3a+h`29V!-(!zZz8UUCv3H}@m=&jQ
z$)8M4oBWl3q(WX#8!S|^=`?R)qhvq@+z4_a_tOE;O3Qm2MV{6Rhu)uOl}8}~-yyqM
zjQ^okl0yl0A}>2bUt%$L89BTQHM}MfCZ%x__~qb6;G9O&wlru;EqJ<z^}TGj7B|=O
z@BCLFH3r|_(p&h~$NzmR=J@pJprC6KkkqCwzo0**42S9xdTRMX7Hb}*TE@3H^FD}*
zoX+D_oP`d$bn}xJ%*i>rM-7jp#5<1ugO3}GCY$l)0t>rO%*7>=eNTHR<nZlF>HprY
z5z>ukGr7~9NyGpQ>*i$n)&mgu4Ln%g=x?L*U<kN>G32kIW9*g>xVJu#5<-lVlhci7
zX)@Sh(x!Mm{Mv^yUh!&{bf$TkT=d^9&C@5=yr-}%iX=JIRGKu~ACfW&(Nk`JIFNSF
z$7gbQ`i%_Lnczt+h>5yIgVILwlx8g(5c`;Z1_@2A&UB)N-DK@=zlwdU>|ypY-rHC&
zaq{?Ca6dQaX-Ta2eU{$m5fs`+3%gFF4LFso#@3n9`jFOz{AYAMR!b;oJIJR1dPmM~
zTI-F1qNeDZr#!9c<*W_-;wL3ga|75^On`c>s^=)lu)EC;*APB88j}DPs<JDG8$WIh
z-$Nr#kDoSdho}+ZH*>0I1Lv_S)~6eoV|8D9>^r5Nx0AfCt(LmFmePT%5S)Dl%xs+E
zsUEtg0tO(^yx;;eo0B!Huf#p3+86%;m`KuEsZMI)#r(+~AAh8aOR#P4Wj8YiT{AVw
z*O-vpS{tg5pQ^GI26HR0WpOi-(pjYk9!lC&lD40E1KiYK&TATlsc85~qcwrJQgM6R
zBx(TpKvmZ#t)!R-d6G&DScRZ;vxB0Sv(G@F3rO|(L2EjgYP2__U(u6*sJt0YzZiKr
z6G@+9QKq6Z5Y+tu+O}Q{ndqi;Y~T4xLD8Q)w*ScY()s2xu7gG^A_S4d_?dfw!*c6r
z{mS6@vgdur_mM&vvT;{auQ%SM^7LUJ>rGq@+aLtHz1GTV_IjbwM23j?czsneue7i~
z_oKe4C=ic_<}h~0qMx`=NU;*=cEl!Gb?kVYn*m(O)A5SWp49i<Glm#@$m|xNGx)cP
zUMc~LN5E}m)s3P^78~PmJN+^Gs1vwiP9!gPIYL4BQ*qV8c2NaxlAfEwcn&qq51NEb
z%4ls!e>>V{5C*%sD|xw=qDZvBb}}I*xnEJm>kdDBw>0gB8T_L3+&vufN=9N7WX#fg
zRn?zQ`Z<v=+13{!9ar4tCkb|N-3mN!W3?)fokRMLHp;g-Tt$D0hrV0)&wxrV4rRV2
z5V4qzr~gz?4wt6nN!OBh{AXNP#OI|a%^7k)%9)wE#$@Rx7$V7S<JaWsVT!3EKkHUp
z#ix&mfUihl*b@M6B=pMTkukW_Jtr#e{WP`|7UY=AcZ0y@Wy=V$vqySv=g7h^z_Tf7
zL!Y3xXxE&#0DKx3fTrGa(pgTDWW|nT;@r)5<6NL*d1u-Xc)ecGE{`lxSYxVG?5jq`
zCdH{02{<=Odwy*xw!YYEFU)vx&{UF3N+s^}{r%E$1H&C1iuwg4=$wHYR6zL^$%F$F
zi}%&rMAc?(_wD5&D~%0|Wi}9j>$pFjQMT0PYCA*tj&}~rG@7c%<7a#7B#r`WmzA)h
zjo5waH}jwZI#;#2Fn{6hp85@I7tMx$ib^#Nszw#0_t>~w#(NN~CT#0zbzK=A^MG0`
zKYQ|?Y<vK@1tBr_(m$g3;racAu|@>FBC%8bG$F3uL#oDSZQR9CXZ*zz0E}V3`?pJ2
zWe@?nDp6Q&C1pge(zN8>3+jRO%{Bb}_()X~j{eD4H2vP>7*AA!Z{i{sYH!u-&qgId
zA3D#QlQ}+}<AlL9qsd>664F(t?XInK*B+T`bklsfG}`trlz6mxo*p^vfxK~>(#rjo
z>4-g|Sm`TMp&HGC7g=PJSC#wCsFz=tiHEX#8k$NL%e=iqJMdvN3L`0zEjPa$p6L9`
z)MDUg1@V}&epH4k_Po*oFBuWqKT)g;^GENF&cb5<tydO-zI>26VHn<{!zWEB$DATs
z57PhA>^U5<0IgdN#Rv6o#mc?5^F<@(`I%v7Rl*J~%zQ_DvlF_FD7lqq>lYaPvdF;K
zjIX6{9R2f-=QlieKLE>oBLJlD(5zq=1^AntvLaBRX-2gIpRT7~xv3nCzp_LO?m@^{
zYeQK&+?I#`)6!LkMb&-XOAOtJbV?}*3OJN>iGYBBbc28|-8C?Pq@)TGLklP&gVfMN
z2qGQQ-Q7LJcl|xz{5{V+_ue_@p1s#vdo2Y0(0`aET#1y|*F%x!h@C2;@RMZKA>*Kd
zZ)ayu=rWA_mg@1!evyow&qzJ7ADT%OY;T`!FTZs<Uh6Z7unZh4HPjhycXr=5r>NbG
zqtTHhO`C>2(LcUeVly+NeBy{?T^nEl{WwF1(xL?TpXFAhb^dO3l<rxnvT7eQHKgI9
z(I|2L83s0u<>Pm}_lQ8<XR$a*d*a7fuuw54a!{eoGXh#ZExx0jsIRdhfirJNc6WtN
ziSi)22RS^G&Ml0`8;2~Yv&G-N^>aab)xjKR5;$f;NS#5f0K_D|xQZc&K!oK3h_Lv^
zG{VgLOZH(w98R~0+@<{>br&RPX8H;EKuhK?0&SD5AqV~2ch&1o7AoXF7*>U23w(Cz
zjWIj#51GN-C-b=)A1`8*#Gt>V#4%rYd|aH4Bt2pz1|Sf~v6qCYrfGd93yNp2_SB`X
zS%vfGjz}8fO<tN9_e646!NO9noD*z40XG7x-<D2x1f63q4dm3k3cE9|)A{f1$;jg-
z&0MX)e>jd7uR3U&TMx>y<2e&7z*jhH_=y|xur~fTbV9&dWKo$6OU!OrniC%P_r%lH
zSQ#GIPRP|BGf3)==1#2QB5rkdmYC|ULN(3f?Boc(10u4T{XiA`E0C`w27G^moSjfw
zDT>%-WM3xzJXk6Ga+N`9{(IpY>!*ZcIK<1?R8-h9xW>u(nr?emhJO-TXqd*U452M8
z3DkG1>zxp%iz_ru*rcKRqE*2!lDT`3#;X}rYx#3g@17ZYocSkd>W_)S^QJFNIy*2L
z!Movyk<xDl%oi59f1;%SGWJfKsMUKPwzYBqbaY@EW$tRAml1Q=%80*W_#p-TpBN8~
z46F|<ce#_ZN+<rRs>YXPS7)^?H)UW0af_X!RPb6V_4DTyO_pEa@{l2PU_d93P5Hc*
zoND%+C%bw==@^)sA2S%T%OUZRgh!s-m-xOA#5k#;)!DvIGO7=O?)23}hBbfAi&W*J
zkH`g~0`>GlyQ=Ey-OoL%cJ;@%eERPO9IqbUR5sX=+zUE8O?#zjq~8Sf>pXEtayj`$
zC}MF?I`Eg3v&h?9qwPR;yoiNy&(uuY?CO^feO2qk<@bHq@v{6_i_|hJ4Wy+-TtIq5
z)w9CJMECRbw=Pz?X1~7ek=jx}*dP1coa5Ri%w}}G=o|G0c4x^)v5_-*8NWOo3g|cW
zNm3Kp-j@hBto+^7@I4Bj-!er&@WEYt(;(>$lFk2m*~<U#Wdl!!ROFAuKo=Cj8?OJ(
z^|k<hALRbGil%`YS6fcQhR3D9&~MYLs{^XZ;gM)=Ha_>9r!c{ZtGzS2ZH=Gal@tGs
z?Um?;%*N8cTMl|3(&rDWYSKK5A%{x=g_EkmV}RJutSA>3SDcvl&V+80S+GrC`m@bQ
za@M#0!@hEE%Wh=0bPwFlVoy(((gK?@B~IAA-Kbm<oS`A%N_{+!N{nA(hL>FC8vT-{
zYxXdcBRXQi7O}Oza+VG#e4-6Hgo`rE9HjzsLnW<WqH-$Tbp-mc`%OPRXe(4FGN)MB
zZsZi{fPoMw+mGsQ+5bqnoiP!wF2Dha^LR}HnENdvRc}D%sdD{JxAp^tu-T5<t@Hhc
zpA4p)ptaTe1xDP`Pw)Tr6xcVu3tI4QTtxG?NLg7+`_cuY=+d?OQdt4808)kAwT<W{
zLn%{ZW--?sPteFwTth=c*lr+;xjFdm_6Ii>mtn&l+-7%Ag7ZJ0aW=z-fV4{BCm{BE
zW~AJr$A@wU9|x`pa8AjYV`DJ^+uYxQ41)o)#oD{5GFev7FPsLMqEoa5HPVzZc!}5x
zN)zkc7Mv5D;ZMDXvxPi`$2<NtwkVT5+?c#qJ*!8Oi-w&$6F!^Wb}3h^H%A#KXmTpM
z7=BZ+;5V_sovT{|JtY}$_4KOWoEH#!J}g-}5tT7{5fgp%l1T*J)jjN0S*Ua+rg}lT
z9~@Ngb<_2|_s^HES)n4O7dd?U1-91sICPFr(v$SH66*cSlwF==1U}~y$YpnC@)6ap
zy~^;fuX-j~PR3`37+fq|iju=N`6Gm$j1H^E6JEk6Zf$T*&M=>`H^TH+)JM5$j)YiG
zlF#i;z56HR1SIDJ_N6qdjbP+(CJ+Wpd!A1C{#GHl_v5y`^Dw7zE$j$l;DQwZC$^x0
z>mmi_&wg_v84dZOqqt|--CLd6CULBQJ7?NbZEu@=p6PYdSmskzys_iultxf3WcBZN
zBijkTfSlx;QUh(*B8j2l(5WyL0jY-+0Tv?zw31~s*XOi6BpFiAj_{EgA+Q*QE@GLN
zf%_A+q#E_F6u7u!2@efw{foELPGX>^D&N!hs@NAiC`HlupE|=O`ckPDp^j1JwMr)y
zpO;c*F&?DgQvemwuSS%?s*)r+sx5U<G-e|+z{5xebKYJ5a9Kf-RzSDW|I)p^K+?7y
zwEHhJ16`6q=IkqozknGfCs<%EjeLE=(u=k#BD9>4`tC=6z-8Jnd#SZk;|^e(d3AM<
zXhFte_I*U6r2?v*x0Rc<l6DPV_Td^2&}TerXLU^baR<0oKENOV<E_0E@NgsqnaMYb
ziXHKwAe!r3*-pSlH;bQ_KkyKJ$RKB_ny=)-LKfLJ^><|7$oCw+f3;Nau-=TIwRPE>
z&mBpVXmXbQTy*ilXZ`B)XXt1P%DueP{^zUo(CivBX9<to-mi%o+fQ2GDp1FbdVpu5
zFe;#!4y!r1!(c=t?61pyxqyJvSbrMJZk<PPKc;IqCZK?6>rXPD#}xHPQjpOg1`+$<
z<10>(WZ1*E37O6H!G*RzwHCi3&Yqa$V6o5)V12hg&W$Yaca-Bd5FIx`7Fn&_OCMz1
z0Ist$PgO}4G=Om6mJr<@;}j4^nvKGSR-&ZjaC{+v2QikEZrK}|&gH|OAh<gQ#+)Ga
zgK@~2`fvK}MVxelQVT^h9{cqDGK}(>M^yUm^`@3zEj$-;xs+O#+swd_&Aw!6Xo&u%
z`Ef0xBjLcw=<51x?8BFmfX64Lde-PIFZ_3x&*K;Vu6NFhB)r?|eIZ${qE|+5twKP_
z9F*@Y<&!I4yW?Wqvu7;!+d*9(KHwu$=rS2BcGoutT?3KSk6se9EJ-g!z)VJ_)^R8R
z+}~1Fl+$(N0A2I43tIM4oUjA@*9mSoCj{|;;7Him#Tu3`>c;%hMC_?dzK<H(4=^BE
z&<1pdWJI?J#_U+(chw1!0c|*rbD=aq5Z1wC1M>Viiiipz3v$3TVe{(jcQAmcIROVX
z^JpX6(`2=Ef9O8CnM-G$uGyZs>&q1Ob{y{N9y-$JF+AZsI7@NWyF(m`IlY}aWBLQD
zNa%Yodj{J)2Q#~z{)oO+Z`NDeX_1!Ta9tZE$lq%JtW0Z{YkxY=jY8GWq<KO_`W9+U
z_0!2%`9vPhr!MYtQktAIBqqBkdhn65Y6^75qw4xn-r(FO`6BuGJL2-+^pb%?|E+d+
z;!Q3fJXcg|s~#?I2_V6t4E$o<;&2mz^WjVq4KN((3@hAthwPk6$8tIr$!?)ZyyKT^
z4nW7^D=b-UEKGUIRD~vdjZ~~;;PhmJns~BC7^_>{30&3F+Cx7MB+r}<mb$~;`bL55
z7MAa%Wy>EdT!V_HV7Szz=e_IJdfk9&Kban^9jENDNOVfb79lq9034laB1f}Hw(JWb
z>BksvuiHQ$##R@5`_%3yv4&vLTy4o(=c5rV7-X-VI1+YFwl&J!{I#*0H+UQEBYD31
z+-Z4!gC$@0(LNZ-+aT%Nz1gay0BvdT9&6l&INI%qryAe2yBH$aWbF1n48*%1oqO#K
zO}#7<UK|H8o7b9O=(Bu%Q@g$`hBTHe)uCqIr%QN~KZ3>tmwo<wYClC{aK1O>p4tC3
z_%!@b&Wh4}a5%3Ee2`vC+xz`}ScC8Q0!nm?7XhpJAk6MBhPX93J}7K3ew;_m@+Njk
zen$DmpYgv?SH7Ba=mZ6q%Cdu}aN6qbu({?}HGs**{9>9<Mr@1RQ)WdE$@BP3fa4*s
zJauPEGX?>UrtfH~h`YIw0+kHNZZAY@r(q11B3#4d9x0R&2@kx%mCT_+Q(N>DPafkr
zuuW)1@|07LfrhHB5!NDM8deiTP@I+k%(VyB!lXcIBtW+y+cK|?Sz6-;$Hz;${*I4F
ziiwLm!7f+7IGJX)1#WCi5)c)}L_JBU8G3-jnIb?!=(!w>Jlo?zJ&(7U{!v<h+<!+n
zt5kV;u69lz+vzg@QL{x*Z16ONaBNLI;SBNYF;UB2{p%+GUCR7clEsOnpj0vF3lYx#
zgr0T7tdHSbaq36iA5%(qjLKfQP(7~{0fE3@3g54|8NU3C9o(dcW4DF*5|Hot{-(Vr
znmTvKUobPN`kNnSk20SDShX!xAE<LP+)aAkj_!rkeQ<mTT5xiIGPR)NzG>KR4w$ld
z!X_$8E20r5%O(cB5vOe9mZTlNd(b{&iNdvb2KQkqo!4!ki{~_F&m~6^JF3<{BO6^u
zp9TAzF7B@qBcGL)|C8uiLo=2&xJMSjDdD0iZF5pRueDSknTEs`=j1^Onnee<{K0AC
zwj0G~=W<|%%>LYiOY-xIVS|Wy@3&H4hf>FyuG&!RT|Bt+LjBq8V4D+!*k8JIdm*kj
z_0vhy`_gz@EzlwTK}?LRC}FsXaJEVawn9dqh&6O1_Kn>d1mdUK8BgRB$4s$J^u*p7
zr{6>fJrWm|O2G0yG=Ahi-EsR=()p}1UOtyGrSO0Q{T6AiiGi*(YoQSo!Za+AO%#mB
z?LIM;^kCr?bopNWfz>3&3K#{`;=owvyn+HqK|uky$rWEna>!s^5S$tIbL5*MD48P9
zv1UjuxSv8oEQId?o$XKMA7A14fiad?0H~-7%lqcW{pq{?-(o$PDeFjKA)&3C>rQgB
zd<nmYn{kAQL^k~o+nls^?5DT&4g3D*BcE>?$X5hqd@A@01Yv%d_?0r}5k|q@49c6e
zBOYozcQMl*dhsAnWY5J=YlTr6CHU<zM7@@_j^1BIaaCNz#bT}*$OQTa_=(B!FNL;4
z5M1|g1ADTapu)V59Be>0(ekEL!^yTqEl+q0aq!#;?|f1_&M#ez@qb%WgA?C=q3Kvl
zVdoo{PSeLMzXe@*YZ^?6!a!&YoZ`=51hW#f3=N|rBJhr?{_*eLyzg2&Yx=9(o0CTD
zyTb4eXn{@S0G%<|(pcbSc<%7S*{sMi@*u`?IUqyi+F^C5n_d|H`n#tOrW-Nqeqix(
zGWDr-o~=tZ>Zo=4lT=_Jg8%K@k}GeiuS46Q91bjK4z+o`jvv3$5+{8xB^hDVSXY&I
zW^lE-RlZXGDxHR5Wo)$_zaljObHC$qrk1TAABcIGk-Gd)DY@a?^pCUs*iiZ#oLCW@
zDVsIy98Rl{Nyoy6pVHO_McToEsRxwD^gM*w>ze|LWHHBwzK-3AFKE{p^S{M%GuYDf
zxq4A@aLnM8jIq3!hVdRZ=Y6ap3aD|?(V<RHPp6=w3LPBO0!MS`@xnr$ixc2-d}WT%
z@aFwWkEBl_j8_qd+gemwgDGp%TBHkd$jL^o4kjpu8N&w`{s(P5j3HV%zHBfL*nL(8
z5+zZLVtz+9v){Dy+suq$oGLd7gwmGmdznPPFDtFEmC1-NB9EH#sS~pQ1pNH=yIIM^
zhxgID65dDkRXJb3ZeIFTTATTvMQevieh8>hG(a-a)YupR5-$)F#ZS?rX8vmYYs+s8
z+si+ij{*@`pcEUV!;!Bm1TSkd*J(wdc|+Pe#;;$84iCRpR8|h{S>@p2!6#98z4C9t
zPs_A~%s!)?9@!T)@DU5OJ|dnl*leNJp&)=R<HEUi2YjWUM*cM{e^ZhmOj1dKhNP*d
ztVM~st@WnWXy+@3mk07aQ>hSY6%^<+9-TZ53F>boPxi12t~fktWyVyFXTIRO`9TgV
z>W$Xn%C@!n;wTZ2dp(O;BTttJ_Kw}pymGZG+FLCHJq|)am4qS+|Kd5>7Gw2EaW%e=
z)9vYS7%;`uk0J?cY<wQ|%Zh|SgaDKq^9l;`Xj1(PFl;D<IHrtqd5`jd-SuG-HbG^j
z8)(2I>K)p*awGLZ!=r?qD*CMPu#>SHxCTKus7gyVh<wsvz0c_N{KGdu!UDCGHz+bA
zV<HP*zmxD^sES@>l)e($4bgE}6`Zz4IBPn*lW!NCF26oq`jw6{1#f9iG<dKIl)*hO
zdjJi&Zu1`$2^+K!B?#Z4f<7oQ%D-Be2=>|OgV8tX6wSV~uQsx=u|ZEyGqy*NDg*^d
z8yOpShlPU$_muObjY?=F9x^<Ti;R4>8BPvg{@Vd|$W$`$$LyzqRxxwodAuZaPZox6
z&gbvyS}i7iXz^a@I%O-U2*i(X$KG{6wy(b{PaySZ`g`hDA-yy(CTMVSqq*50JnOc)
zt<Xg@R(%IOA#{(~5?H_Y_p!8Jao|CeZ}6lkb$ijQjEulVF{<g4h{%?f{ybg`Hb>iY
zSJ-f6CdT7Y^X(quXrUrB0W<6iy8J6SIX#wFP@trw4C(nI*lr_~gijg*+6>HA5IfGk
z@(H*o!(+5la}D$a_8{9<67baJnu;&tFI}HY<1b*<h}_SmB_JS>b#-+O`SfYTq~P_W
z-S#EoMZ=M9MwWDv{vh%!F8NcS3r&}rHhNhtB79y-%IL8Bi-S*5R>{T6%H~JuRj(9d
zlk6m8lNQf`5cU0eADbp2Pvm@+q0R&4_;_;fyl+{-&fqYr7pV~dZ^$4RN)l!92U`Kn
z=9fJ)b^CwRcn01u@03{oK%wYN1Zcsef*c11adGjLkbgPgPClXQ`he!7oOuwNxk`2(
znWIpH0w5nP?yvp~-i78);GpmirP_Jh+XbLHn0)Z`_4RQfkleyT?)}m4I?Gt2C#M0@
z!P1zX<MoQ~KMOZ|k_Ew9gmKrahly{_j4EE<d;C43vHn7^MG|xJy|O@+79_NH)w~@X
z<aX!U{q80L#K?_nY-1T%*6%Lh_5&BWZb5FJIwP-q>wTQLL8K{JuWa0#4OFy65$&S_
zy&RN2s9xSyH1WJzmm2x<vEH!F5&D3SkC-YN*UioCTS<w6m)A2tfb!q&Ce7H9eZh$4
zF6KCSeAGHtJ&R*O@KmMN!Erv8tpu-a_ec=1-5m({*oT2G9AAQF{~^lxt)SLf5F6DX
z6Sc8zf8&K&Re8r)HSpL_%zhR8dz3v_HJ)ml<$VqAPj@?$|CM@og9tk54UZWRG%22%
z8;=DO=sgQjs7;bHB!=KYBt(FLV)H3CFZx;UUnM%Gdka)djLW;+_mAbY0R>^#j|3Ed
z!?m`Z0)GAxb*?|S%(aI6Hx&6N)+@ZG2Kw*)8x#~oC+^Pqv$7IQg!zpV{cq>2G2v=K
z&;t>$2}n*>APwxJJD}6bEyJMJJ7k-V)r)0JEtZ-Z=88W-v><>~<%UIx*J~OW&~Z``
zf|@4m^g{A5QcH)egc`9FlM6q;q_=l<Cr6|uw@|<0FGXL~RCkvm@lhS*<f++ddcxMn
zE?-_{N$VfBgKsd#g@x#!{8|A5P1p15!#$$$8U&X;DD99BU2$Y&3{>My@8?04&nPQ*
z5wqGue=e!YM`bbtt;NNUboKPu`T0q5b8~<H`Gc)7^1otZn&^L0%b%94QN}*=h0Uh-
zoFPxbQ<qb!und42CZ-Tq9&tho_lDGX?zIgGc6Rn}KYm2KDS=FMq^e<UU@A3^UjFBP
ze5)^9@~zRY59Wa{eY&xfYiSxs$^sJEuV3t^zc$TJJK0@3u@kh>WtQ@4-e@m=WGZJ~
zk?@K7x=@1wX?1ddrYE15u}LjY(5V&P*q_MIxopW6xJ7Nt#*;XTv0%w+Yg1kXO1HJO
zX=!Q6lKe|&chU($<|aBrka2+!SQc1@Cz^-GU2+-Bd7^01PpydL1(P5a_Y8dYRiee~
zl~q*<(QmWN@MS}!KZjpIpRztj+`W~1bJMx}U5T~%x_4sI4F}d?3acznpk6<{W0V<o
ze5<@C^Rf2C*Qon@B`u#%!B?7KLj2Nb5?Qf#ii7R#_?H4qqTDuZd36<7foA7?gUN5I
zQs*%Im%qOguLckN{wA&&G1*5Kr_7N@2%g)!q4xj?08UDs?E^1z)b3=77u<k=Y1%{1
zH^<6EKrfDKcxvcik4V_;;1te+4$$AhS^JgHQ98*y`k{ocub#+#n(HZF7j1_T>k)3n
z#@iX4eC7Ijf`;oLfiG={&7mxhLX`mr$Kk$9*m<&krN{P&aAonxt8Bq5qkOpn=K1EH
zjSIL+1j$JT1LJNc(%#uIHoM#-;mCXYl>2%eb37S9whjy8tUJItsWh+$GlJh&J!k{<
zWbj@*Cvd{?wo4QkZjHFtLE!-audoaVpypU17JYT8W4BB!a=n&G!T<}P^+J6}{Cm;M
z7ELL=`qh)VpL#wTguxf(3GuPJ&M;daQA$u&66FdkN@Q+k!BmcJQ?j(ZzN1Pn-M!6b
zzZ28))rOXlSPCyb=O43srTDe$^MO_Z7EWFx-ar~9b70BNOr|AN_~LL}?N<ZY%5}4~
zOFsiL!xSXe!HW$;cH_y{v+Qhg=H9un$YM`O)FzyG7(0STf!cFnf*Lkrv=~r=RSK|i
zaMwk!l=9UQ!IM(+d+5$s`}B8Y((jzzjk>2jid5z?gG=m|&z;Xr5lS2^_xqzy&BS=T
z8Q>1pr%nSrMJb~zE90yB<5g>4^r}AVk5-vI&o=Wbh2<~5YM8+%|8NRgz%HavFl|sR
zEHB@qVcB7MYAbJVk<-%S6fD*bOrP24In8?6t`Cha{jIKswS1-dAM7Rgk!*pg)VR=|
zcw$)p{jI7;1N@q(G++}Q<bC%R_z$ZQLgk{0Y_bT%L3er&q28zBJ_NF`5>?fQtc|?)
zdi+jDFWvt(=U?6-#Gp2v`5z)X#Z+;nZe?9G3GerPIK|5F3*rYxpV=q*6&QJlH`M&B
zQ!;lN1lNKwY24$otF`*8nuxKtQW|ckXZ}syHn^r<CmVaYVb+0}oc)33uDsG;6fUFQ
zn`E^leEOisad6^FTXz64(WK=G8He+_+{snUIfH|vKBG^-X=fRi9)5B6#*M+v5xwoB
zo_CequI&HoYM?Szf;(lu5;|6Jkz5nX*omR1F&pGOU_yHq;EMRyF>|n@!z`>%Wn}M2
zn!e#3a2vSL|7`Wb|Mq=I*LgPi^crNr`X$d-uAS874;n!}A#GuQ*;8fA(u~DQorQHx
z#4pg`9{gMUkEiMO_9A#^!P6v(Q4#WN3-bJH3cL$OefKr`{IB=dKY*)L&4*bctGcGT
z+WapY&%et%_hY|-0)L2{l5xc3)nD1Gj5qt<kf9rZy^3M6Dk#Z>;(xD^^xK5E0X95v
z9KZ}Xkbvg|xek;8b2tZN@cTlz{#~6auVdz<KfeB)iZD7k`E7}HuE9ht;Xh`oZD!)U
zFTHp9oNQ)xLdu9$aC@!JhHjw)Y`Ae$jt3Aey3Lq_!zFULmxh%8%6trypT%};e6_r>
zOz6%TwFFDpIW`^HnWsM?;LKWAs{@$fCBAHa8;X;Ie;_@91Ot}eVABoa@9W?!{0BtC
zP3<D~)KWDOk7iw$bT=b3TFi*(MIT-K!b&n5*)x9PIx#301nYe8J+C<V)~jo^r)VHK
zQ!3jK<6voN%5b>_rdv}E!!lS)Ilqch>QGB8Voz||+}WF>Ww2y7a?U>zL&>fJ68j#6
zE?WWzce}F<nj_lx(1(I?jgAkKttexv^1cx$Mm?b*4eRV$T3WL{BX@nO9#8V)M`tR^
zK6Z$%^+jwFMgCJFQ13(j-s<5+34{oyrNy+z_4JjrtdYNTcP0iiYwj|2+_0YIL5+eS
z6l`^>oI^0_xXwBL(*u93=a`1<-G4TW`&2WU&sEZf2uCt9ufLnMecUx=dg|1tH?2{)
z^HQDR)}CK#pYa&4GcPP_=*0kfa8ycHiiG`rqO1h|j6y+;(~3Y2Yqca#$9|x`0M59U
z)HlIA?~=+^eBI&=W(y^jg5U1*AsGLvT>nSe_>P92<UO*2u8h8H+d}!J@xF0cl;uM>
z3&sB9!-HC0-<$h~mb{b4ys8>98#2dYKNPpnxn0fU+BM#m2kjep{uXweIZaTxO1vGA
zCm{UlF+4T7y3BY%|C90Ytu7tvhYC*d)Hwv5X*o`h&ywd|_Z1I5Q9QTh1`&(fstCN#
z+c!uH++6vrOH(9ueYxZ=q{5-rxeeJflY!SQ%3elKNu5#eF-*_JWUj$9PUE)}@R{FY
z;+O8cH7dfnl$(-9bL=EUoH}q?2N5owj(gQz)Ip&(&j{Gv)w9$?C=6R7rr|nhRb9cE
zPz_Xkb<jpah{_8Y`=pGckbD_1YX`a??gi-a?}{H_e-%2qZ;d_Er_mtsh&e^sPS3$M
zt!&VtlI9C7?dtSQgIZZK4Hs9#BYp$5pgTn^jtX_(w;>J>vgpYB`+r%fRs8auit6WX
zA5ngOBK~}z`4k4LL#3XvPm;(JTv7|XpOBA%Kaj|AhHRZ03@k{5zZ7LvK23u`8ddty
zgok{@TT1#3WW|iyyH#V7C>Hz(Eiak~Er@WK(2aNr@Qqinc69H%z@)iB;(nC@aV?HP
zFXSzC=^k==+sZ>b*x&Y<i+Iyd)aTo`FALw?f8FgVa>6A|MbsB8Z!5=TD-lj1kL|$j
z{uioy<wLrFT^u4L<%l+7{VcDWyo4f4Sr5T2=IVb>mW6}1TiMB=xT9J@ow{Nr!%fNg
zkSRsRU&k$9;tLZtLG3&fna2Km8dX(H6%3Zb+v;|9>pE$K?C&oEWPk?6HEj1_>J|X}
Ns4Bfu{2^}<`hONN9y$O3

diff --git a/nginx/landingpage/assets/imgs/Malcolm_banner_white.png b/nginx/landingpage/assets/imgs/Malcolm_banner_white.png
deleted file mode 100644
index 1efea17952521adcb778dc1c216cbbcea868ffd6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 45426
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

diff --git a/nginx/landingpage/assets/imgs/cyberchef.svg b/nginx/landingpage/assets/imgs/cyberchef.svg
deleted file mode 100644
index 9ec0f9519..000000000
--- a/nginx/landingpage/assets/imgs/cyberchef.svg
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="400"
-   height="400"
-   viewBox="0 0 400 399.99999"
-   id="svg4819"
-   version="1.1"
-   inkscape:version="0.91 r13725"
-   sodipodi:docname="cyberchef_hat.svg"
-   inkscape:export-xdpi="337.5"
-   inkscape:export-ydpi="337.5">
-  <defs
-     id="defs4821">
-    <filter
-       style="color-interpolation-filters:sRGB"
-       inkscape:label="Drop Shadow"
-       id="filter4682">
-      <feFlood
-         flood-opacity="0.498039"
-         flood-color="rgb(0,0,0)"
-         result="flood"
-         id="feFlood4684" />
-      <feComposite
-         in="flood"
-         in2="SourceGraphic"
-         operator="in"
-         result="composite1"
-         id="feComposite4686" />
-      <feGaussianBlur
-         in="composite1"
-         stdDeviation="5"
-         result="blur"
-         id="feGaussianBlur4688" />
-      <feOffset
-         dx="1.34615e-014"
-         dy="0.7"
-         result="offset"
-         id="feOffset4690" />
-      <feComposite
-         in="SourceGraphic"
-         in2="offset"
-         operator="over"
-         result="composite2"
-         id="feComposite4692" />
-    </filter>
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="1.979899"
-     inkscape:cx="40.62369"
-     inkscape:cy="206.8588"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     units="px"
-     inkscape:window-width="1920"
-     inkscape:window-height="1138"
-     inkscape:window-x="-8"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1"
-     inkscape:snap-page="false"
-     showguides="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0" />
-  <metadata
-     id="metadata4824">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-61.812519,-579.37011)">
-    <circle
-       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
-       id="path5494-5-0"
-       cx="209.06097"
-       cy="843.2403"
-       r="0" />
-    <g
-       id="g4673"
-       style="filter:url(#filter4682)"
-       transform="translate(5.1770318,2.0203049)">
-      <path
-         inkscape:connector-curvature="0"
-         id="rect5513"
-         d="m 243.66981,877.59676 0,32.00949 97.94463,0 0,-32.00949 -97.94463,0 z"
-         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
-      <path
-         inkscape:connector-curvature="0"
-         id="path5516"
-         d="m 243.66981,877.59676 -97.94463,0 0,32.00949 97.94463,0 0,-32.00949 z"
-         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
-      <path
-         id="path5432"
-         d="m 252.43415,634.65787 c -2.93079,0.0237 -5.85751,0.22598 -8.76434,0.60581 2.9e-4,92.54556 0,151.78177 0,246.9062 l 102.82518,0 0,-51.59276 c 0.34138,-2.19919 0.64564,-4.39387 0.82997,-6.13864 l 0.74658,-7.06246 6.41143,-2.55609 6.41143,-2.5581 9.34811,7.55758 c 5.14171,4.15711 10.34711,7.56009 11.56798,7.56361 3.05362,0.0103 24.90114,-22.4949 24.90114,-25.64946 0,-1.33375 -3.32577,-6.68709 -7.38833,-11.89487 l -7.38636,-9.4676 2.32909,-5.44225 c 1.28072,-2.99325 2.66205,-5.81504 3.06771,-6.26947 0.40565,-0.45443 6.4466,-1.77039 13.4245,-2.92441 l 12.68785,-2.09721 0.31968,-17.45587 c 0.19141,-10.42474 -0.1393,-17.92314 -0.82203,-18.61518 -0.62875,-0.63732 -6.64398,-1.99532 -13.36493,-3.01699 l -12.21726,-1.85568 -2.69443,-6.71426 -2.69047,-6.71226 7.36849,-9.55615 c 4.05209,-5.256 7.36649,-10.33897 7.36649,-11.2951 0,-2.04511 -22.89779,-25.96343 -24.85547,-25.96343 -0.73476,0 -5.85983,3.4567 -11.38928,7.68437 l -10.05298,7.6884 -6.15927,-2.5883 -5.96467,-2.50376 c -0.0655,-0.0303 -0.13101,-0.0605 -0.19658,-0.0906 l -1.89623,-12.34168 c -1.04342,-6.79095 -2.4584,-13.03053 -3.14516,-13.86931 -0.96141,-1.17423 -9.08067,-1.71556 -17.20305,-1.66447 -8.12235,0.0511 -16.24958,0.69142 -17.22093,1.87782 -0.69477,0.84854 -1.89525,5.90378 -2.8493,11.68555 -13.78021,-15.03842 -33.09617,-23.61037 -53.34456,-23.67301 z"
-         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
-         inkscape:connector-curvature="0"
-         sodipodi:nodetypes="cccccccccccscccscccscccccsscccccssscccc" />
-      <path
-         inkscape:connector-curvature="0"
-         id="path5490"
-         d="m 243.66981,904.03117 0,16.911 102.82518,0 0,-16.911 -102.82518,0 z"
-         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
-      <path
-         inkscape:connector-curvature="0"
-         id="path5488"
-         d="m 243.66981,635.26335 a 73.110297,74.107784 0 0 0 -50.24705,29.88411 73.110297,74.107784 0 0 0 -24.78797,-4.48825 73.110297,74.107784 0 0 0 -73.109015,74.10849 73.110297,74.107784 0 0 0 44.891955,68.35225 l 0,79.0496 103.25208,0 0,-246.9062 z"
-         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
-      <path
-         inkscape:connector-curvature="0"
-         id="path5492"
-         d="m 243.66981,904.03117 -103.25208,0 0,16.911 103.25208,0 0,-16.911 z"
-         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
-      <path
-         inkscape:connector-curvature="0"
-         id="path4473-2"
-         d="m 141.92964,901.472 204.28572,0"
-         style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-    </g>
-  </g>
-</svg>
diff --git a/nginx/landingpage/assets/imgs/github-mark-white.svg b/nginx/landingpage/assets/imgs/github-mark-white.svg
deleted file mode 100644
index d5e649185..000000000
--- a/nginx/landingpage/assets/imgs/github-mark-white.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#fff"/></svg>
\ No newline at end of file
diff --git a/nginx/landingpage/assets/imgs/icon.png b/nginx/landingpage/assets/imgs/icon.png
deleted file mode 100755
index 86180f0bad8c3e7c4ba54001a0629adfc78d6a86..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 89100
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

diff --git a/nginx/landingpage/assets/imgs/netbox_icon.svg b/nginx/landingpage/assets/imgs/netbox_icon.svg
deleted file mode 100755
index 61b9b5aab..000000000
--- a/nginx/landingpage/assets/imgs/netbox_icon.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 320">
-  <g fill="#9cc8f8" stroke="#9cc8f8">
-    <circle cx="37" cy="284" r="23"/>
-    <circle cx="101" cy="37" r="23"/>
-    <circle cx="101" cy="220" r="23"/>
-    <circle cx="284" cy="220" r="23"/>
-    <rect x="93" y="37" width="16" height="180"/>
-    <rect x="101" y="212" width="180" height="16"/>
-    <rect x="93" y="212" width="16" height="90" transform="rotate(45 101 220)"/>
-  </g>
-  <g fill="#1685fc" stroke="#1685fc">
-    <circle cx="284" cy="37" r="23"/>
-    <circle cx="37" cy="101" r="23"/>
-    <circle cx="220" cy="101" r="23"/>
-    <circle cx="220" cy="284" r="23"/>
-    <rect x="37" y="93" width="180" height="16"/>
-    <rect x="212" y="101" width="16" height="180"/>
-    <rect x="212" y="93" width="16" height="90" transform="rotate(225 220 101)"/>
-  </g>
-</svg>
diff --git a/nginx/landingpage/assets/imgs/opensearch.png b/nginx/landingpage/assets/imgs/opensearch.png
deleted file mode 100755
index 077f1868dee49c81e269c88206333fd267170d8e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10327
zcmdT~hd0~b`%e&j)UH`lv)ZEe4mD~QwPzJITYI#z#i&ulsx4@#S*j?pLQ%059VikM
zHDj+Bzjwd?#m_l8&UxQ^pK+gYpZj`lf}w#H4b=@Q5C}x0qpfZX0)Y|#ew5_Ems0HK
zPT=2vKH66PAP|i9-w!<8^fns!$R40!8DQe=5&(Dba|XfTaFJ(T?*5JrKF%WEey;i3
ziZ?(YZjg?;s%c=s)?84i`7-KwckD%aDj8J;!kVf1x#wqN*tUw$om7zV7Ne>5Hn(6?
z)8C}A$(b1g=K_r_N$3lY^2}BhM#GGsH2ILaZ|MjQbKl(2iWj)5JBiwAenq%_tzr!-
ztFe}kA*UES(I=v>{=hMJW^u#<V!;Lp!~g5Qgs6R}iql5}At8Z}Zc+|`Oz20EVN|P{
zAma8OAD0$FJOB%S0kT0Pcd>ACJv|a3`}njS*&s_9l+eD@`RvJFWDzb$JJ=AceU>Bf
zF?EDvtamz>%@J`O5yh5rA~5AouNZxei;wc>9&tVUsbZnFwGlYpZV9{E5cWsvv0?1e
z2iy4p;+{+$3zi^u<5}e?*I1DH(-IPT<-Q{20wkVS7|rDIh9DQ>DjMxhvd&)beVs<O
z`P6`)k(n7$`g0(`ftvDT_lbbvCd}ZYoD9PZDVZuX`q-*WB2}-PB=x(T!?w!nW?S%4
z#3Wwg5tB^Ry}nKJpTa>CaJDoIAoY3Q@HwLhnnrE{{w7C}c6N~4qNjen2GbLN@P<ld
zQL^PJz0H;a-k5s_dOLhOtj^9bHA1qQ1+xW9)`pvc7*l*DQ@Wx;BF8Z$f!|_VzLISR
z=T%?+0;qQwfwd1Xmc9yae~=J~$VDs4^St&Qiu3S+eSrF=0fc+}hDBi)8rr`Py_MX!
zG^;k#;~wa=yYX+dlqB_UQVp8k11#^`(fR0pH#!&WdDUIjN*5N#Fy1DW(1(8A61+<=
z2P1uBPM4F;&VRQzU0UHH`J30MRnEL02i@(9{!63bT_d13>b!-DIDo4AWn6aaUWNMp
z6vyA_Z!8a<?0JjE^U^|XyYMBycDDU>{;mECtoAxT?Rhp9!YTJ1{ziC*iDmSs$=7sU
z1=3Uu?C;5|E;gKaeQ%^3oF@)By7Z>RVt>|u1(xchi~?)plJcdm`zMBB`*o4h^yc5%
z|2)E!XumW8YZJmgooB>sv)5gOY7IQ)!V9bJFH(e2q;0-`s4@{!qKTtSI)w5KF-OCS
zj7k#a5C3Mi^7H$CV@Di}PVJRMx*|exMt=Q*3hAr6{V2i-E$_4j-Ig|i?bln@D^rd~
zs`E=pxk2p&?sVG#a&9GAmz7;K{=b9OzLZhufJ>drt_04A9|kBF%yS|TynBpgd+mRi
zRDF^~xRVY&;Hf(pzS|I+y2?UA3W(<m7RxlkF7MAw3Wdd`4VOuR)^bS(BOje0d0=wK
z5Bf5%SciY%9M&W+7SamEWhdce)5*K~eVDrV-KE2~?FR|9tGdSq2Gk|op%k_fdKSkM
z3OkQ~-g7&Ks!Jq}f=WXm4tIlhAGzASb=$C2xSl$14AwqQdWPZChR<3&Qw~hfRSA9o
z;hysk9e|UqrAf@tVVG@aGH(LYegR}jY4@NHf<L5xTK+|(<;hiraN7<&e0~}^ybtX&
zKaVERr(c?aCO&hsZNZ`rUR}h9Hw=cAryi7%q}Iyc-vGWP^t9NpXUL7f>2>S`L2G%_
zkpSx==Ed$1Ip?2WFwxq<04G@wG=XeFlp=j~do`wo6fo662|yv&1ni`M#TlUwSuu{<
zXMm6YA~`ySs`BC=LmY=hccBj^5~);LU6@Xh+-WUFZLbGv0b!u`#IlrLb5}TT7W|Js
z5O_fFO!xXSc@gyiI{)$qJRL)--J5ic&1TmOC*G^fj0n(j1z8P*_dRnao*M9kSAt4m
z9HA7cmYmv#0SyHD#cY7lO5j&GSwiB-pTy<W69b;h3Q(#0TPp5qc3DZx=5>r?JQtv$
zbyqc@VNz1`^pleZ0Bt&e_J~IZfs#=Y%Uodn*38a76`*A_m9$MZ_!9DG`cYV1>UY3v
ze_4CsNIvXCA3TMVJGvBZ!D33Ys8oU%n*mX&(0JS(p&?+<SPL-L!`2&Jq1e<ZXivUI
z!@uRez?@h%6ATr04bX6NzVrp&=!4Bp8iAYfU#QT@d)`Us&@^s8%*Q;?eh$d(D)V`s
z^!y`%EuCbg)_$;E4JXbYE{M3)mP*=(@;DdP{H6{44X4&gNb|U~Zz9k$Dl@CtnaQ9)
zUQq<LyFZK@IG64NOKxF?PIgZLn(d~bu&1;Q9A7#XU^;`#@W<rm({Sp9Ifh2A&{|-*
zD6pJA>lVT{rhNsbJ9u$f`-^h3y6YtnDKGbdeGaSy1-p-4M1QG;bU{9b7%XAezuuFB
zzap?PwwbU=Zt&xH`0ooM=GWPLn0E$7BVH1SG)qSQhhsjWV*sCAf7~8ab+LrxZ}PQu
zEd+4`C3ZSMr&PB4v1KK=AnY1tm{!_U0XFCL1+ZIz6`)`~_H)owOOU4ap_9_R>GqRO
zF*wh+b=d3Pcl20cfY(hyM4_PfIX}9k?R?nW$C``6UjI<7+n#zSig1UKw80O@@V_}!
zCt7ujw&9wDK=|jTb-KnTRQ!?!kcN6WBd}A0j$zo;zkp`EpU&y+N4=C`U0QD%n`*tT
zk4QVq<<rhQlxvGoxYn;Gh`6b9Nk0|l$yAeBFFTURRa(5|kM~k<OK?uKay!I-D7kt&
z*HRo#Hh?!Pc5Aj1uhKOuo@1BXH>9lX_T?!a(Uh=aE9{=Rm2!sU86Ur930H&v7eQR4
z!{=ChY(Q*(u-c<?e=fq)C<^M-Y)*2iZEqJPBDu$n!2!<OOAyPQ<c`a;vM5sH9D#-!
z+jFUV(stNaS__-X;5oH?Up+{wvnj~-*>5q@&Ek#-RV~&|fspS&x|I^e6cpp@ppO_g
zeva!oaAMK9T0q_!Hv$KI-K?*TKt-Fp;U|8;EZOF{*OtFunT(NPn4SCkbLN0`1+@%|
zQrCji$tJ{3A~M>}^SBMc2SuM=?mlQVEz)xT9VsU$e$4%C0hY5F*{};lRDdZc#L<iJ
z>+(vM4y#_dFCQiN)AZ48YFg422gR5{?qu|&1LlcreT*0BT*m7%Rk@J-&RSxF>_&y4
zk~njk-wZmJs5Y<O?V~V?BBefp-Yu6$mba|j#fg_*eg6}(c%m@Zc|sbBY)N75h2CD3
z7Cl9*tSkH!HlS~Uf(nwCXz@z8alh|@I57W>nSKA15AWjaEc=g+Qy_&&lF6G-J?CWb
zU_5wma4)d>uX<9Yy$Ry_xBR>lb~`dJAcvkkg4DI`XVX#`5O#m%>#IZXTDG=~flk<z
zYW9drABDZ!^fT(5lhZA}DeA)pJ1CWRZ^u9{EvBVd8*GAip+XgcC?=bmYx(u{iu0U4
zjASMOFX^L??B!C-J$C@=z)rTQJMtM$Bod}Zo4Oso>-TTXeVLfUj?rSMIsd|pHT}Qv
z=T(~n=D8?=tGDI(U)kHMiFUe!G-^y1<M|k@U#y0pxcGlPRvSvASm?eES4^0V`gwaj
z+Auq^9&w*^$_$H0IB-TqtO`c9_U~)!t;9(+&{|SF9=p5BrSjyGsX!kr04AP|WP^v3
zkD#h&k6b}*61v0_)U9DF8HowubcK}JQ(E^b)(K;O5x(D=DuI1S$i|aH=)JIMBg}Q}
zt2JtSi_ycCnXB489RZ<8_mU*On*sAyjegjaA$FS}VG*m?mWF`iAuQ(_3~^9&pKQLe
zeOH^LkbsS8o^Cp&TzBzE6wWBkHW9l25Q9qey}$De=i5GsQel6Tjd<xNQ(JVMw$x4A
zncs?EN$K$gPU_b%;FE6sM9#j$E*p$vkV)!y=VIz|lBt1~PZvdB;Gd<`k#1H8!tT#8
z*#0IXxiZAugW9c#&DjOO9j_`tmsOpvAW+=o+5CHk;WRxXi|o>tvb3zPb|u_bsnF)E
z%K`X@H)4~>Kz0KNNUS=X(kDQDvUVlvjDcY!U9bN6!f#amEN2kYTOmjm$qLLol!RF&
z)&vYf<M-8%BTq2=`<L?XtkTm~;y%=Py?ehh6cZYZz4zV|W1=y-M$J802?FhHUK^)v
zOw^G&I!bstpy}@Zq&R4InduK#>{5}B#~$>qL@X6|4=`~U%C*}ILOWvL-%3Me$E`Fd
zoiI&(R*{(%`S1|+Pd)_EgZcs8E#+@{YkR(cQx!Y!n#FuEV!MVYC1{7al7`(*y&R9W
z2PO0!BOJu_J9DZgY#j6M<!&c7AivC}h?kurCn!Y6js0T?^r+!9OBtH(kI@{Yoa(ME
z7~1V)vISe=g8D)4KHy-_>G0#~ZlZgts0I_s>3TPCPyFTsiMc5&ldcOU?F`oMH-qA`
zZd?sL&z23pi52xN_&#D$+co>R>fsYzom%SRhboPI7gCO3mihNz7fT=BOXQ&Z{qnwT
z!QCMfVkepDv|KVG>t_22sb24N3I7d)L?w$@LomO*Fhol}ht}QcXfVv!M|i;0eWU49
z*-D7qD4E29?en+4N^Y-rB79}VDp+ySoU_J)8_LWUAN1albV1+bElv5x{N~7M`+n6X
zpyNFvT}}BLIf7^aN6@uo{#a2p)F(VShu?^WbS5bn3mAjZrd~8|<rCJ1L+!zxgaZDH
zEk%wleTv2Nq$=fe=B}={t6=PrV>g-L`lA#<gEC{VO4Y}aM~)^w%Fds^-o0Pz^e$^X
z__2@T4w`T$1W(xP-E0pZ^ZC-kz(3$72x?axebU{<bG+e~dZ6w9qq>n+5o);!8}tgT
z^*?wY{>bMqbr&3THESpuCoS-)#-5p3pBN&Kamspe?f$#>Wt^)b;3gunA-bqMcXd{o
z?eCSzQQwyfx{PU45c12-lrY8^_uLLW4tMP_DGO1M014p)N#e2VXDal1-K!N7iYPEM
z1@+x-zlm$%qwH}J%s-3J6>53=-bH%g+$8d9x1jeCxY5Q`*2oD*Rnt*Q62E9#e|3c2
z<Y7#<IHTodUtD-4dc7$boTpSawYgluLL2X9-1=B|UlW3Om~A7mAGx6|CGs<_XM)dt
zW4`=_{eN|{CM3#`RMv4)Hv?CYAV_%bl4H2^vwcmW>6@EY&3HbUCKN;wzwp;PNKSx^
zff-Q=n%Md}78mfC-dl=AQB$MG6sO8hs%X=U;vtT9%|_o<s`d9SKL~_b6^ej0)FG*u
zE1ILPEfke*XlJaaH*d%<AAgQ~>rV0}-d9?O{^Y4i9yGit@Chxqt)HB1HnO|C@oQ<o
z#&qiz6Vn^;hKXPMxAOupTC7S|U4e85%1z_c%@x%X85bbKJ!k#dhY$Q-?n%mpWl*8H
zFiq4#+VCggnWB~yQ&8OxIO68n#<YsFqrmpfTb1>#EBDgBWG4`H=6t&LKaJuz8r-P5
zrbE((2kZqwC;f2569vvCRYn>*qxlm!rbj!^+U770I;7dV>}l<Fyw7dv^t+jy<6Uk>
zizz7A0t7=#QU(?bmRSqt(H^5TCk*{xNF!lS^Dfo&{6o5U1wkf&PI%PrTLR?;UQDQG
zS2!WoUFSo*yJN_J>DJM4mr&Z6bYWtsONu<RiaOvO!f0BzuXqdv^rPW;!1aXXxDx~Z
zXNzfH^L<t2jXus1X1RD#zhJFoOn?y{CYmvqNKm?FtL{M<lg&(}!baiTI;10JBW%r@
zFsV?9nV=2{!SuUl^p+5n{-Q9gcvY}rWWyo<jqG%{yzcYUvk27Chb^LtDIqYUkydx4
zfxJzq8VU-PNVgLC&W<2}o^f+rv%gJI05KmcG6>03UwYB1_@?CN&knjH(X?SdMQkf1
z+^g^orypf1>%a%@s~_4cPGZa|_-9HPZyKTzLOiFunaRfhGc_wusfaXw$wt~U_NgHT
zy*)J9=frhnvpKC*24BSSu>k}TG7XPn8p6s^d?;MxAsCMPTuX@cwO>QuDO7(p7xnV-
z4uL_>8u}#(<NMN5J>!YPWoShHO!<GzDsJJ0E_!r5K3*c|AN+Yw%HFLBC_T<v-rM&o
z=}bgJpwm9&JAUf^5_wd`t$)UfrBx9Rd|tAHH!9o$KkdIXMzK4g%&ysp6Rng5+PesZ
z;CuCo9n3Kd%qpX(Q$iY5aR#>h#$>9$R=~W$x_O3M@GJG62;=bp@+FHEB2s{%uKkrt
zeF|=l%^`hWl6AahWW|-IO{#<h<Rc%(UI8oV8tIvSz&UXwlBxgMROU(7CJv|-at_94
zs$>yyX9pdldGBZ@uc4X|;R@+iqm#O2&ol{t6>2C(_o2L`o6%P6hOx`4&P)Dm4<nhG
zXs)2w3_OmZhQa-x=pFq;JFAn=x2hN8C;7fcE0d}>a9FaP-%XeQciPbJsatzd=WZuC
zA{-Gy&%y{{g84T|%u`oy{y7@(4mP-L`w2|fee_a+>&E87F?#t!)qeBKtd=pYgJUTj
z-+b)nq=`5x5I3%nyOR8G`NgH*%Wn=m%*h*+Ze6cvJT7*`*If<{^BQ{JE+5@Xx@#A`
zbnqnf*GI>p$?Ky~3YM>>t5#x44=ljQtox+Ep}5|L=!9|9KSC_=Cvh>5yWhRJXRzu@
zq3@sD;89BOsgL&WXeq=YKi{Xf$to0siKNSqDnSPdgo`B+D9(+#c$VDsIT~Vq1F06D
zCF$=b#i|BU?<~@*pFJPLD*WaDOX0+7N!)I9<;~521d!Kd<aU;G_&;2o2A}hxrJ3l0
z@(251+ERu3R-T^-KJw0v8^OV?x0^}?=f&pkcq=l-uZ&7!O@JgoB8Wh#H4nmLIHfrq
zWqi24K9Egyd#vj``FPaM7eTPMA^<7rTS>C5OoJ!>!WX+{jPKKw87e5s)SFDDvM=Z3
z3THg&f+x+oeC@KznNw56Zt&l@`L2FJ!sQ3oCd}%m-+_~3wt{zc#J1ByPP~BU+u*$+
zhLOQQfUg2;?1XdiK^omQ_3)hflO3vrSQp0RZ2!xN1x&OvYe>^?QQw6z6Z+D8>g~jF
z>UwOKhM$m;j3GF5);o+MRf(!A8RAu1jDI1R|6E7P;JbnbgV+<oicsFOC-ow?td3k(
zqKPD0T9U(`)g^DkDnKunyD7r7QoWeB(Isy331zD~Qei2;)$W8g^V8#b4%@3%;uzDd
z>9+HzPwI!(%yk0k@>Xh)x@rv*JF-^gTUi0SckA4B$UnZ=j%+_~z>qo@B5Mn$!lOOE
z9={hJoM+46&0~___V!e7sE?wuhp(L9-{cK5qBO;)kEOb`#;NzX;UXn8!-@0F>MxE=
ze%{;Z#AGx~#0w~mMCn+cg|P}E=9X`nfpUdFL@M;{N{=e%qxzCi3f&OCsithZ>As_O
zyE3VvLQ^TIfvFH;{p<>72;SVT)8cyNrOcLbup%bJM_u&3ewTb@R(T3u+-PQzO{Q?U
zvI@Nx)cE|tI_cJEnWo%BNF4`r*Y?U7op=^dxToFeItfvry3%%b?1tw^{XCMrx*70z
z<JQ17r;+Vtq+<E+c6bTN6raTwEK>bBe;+R+&5PkDEhz-CHSCr-$Sd-fCl@@=!j3X2
z#cf7%)@bqS_>Bv2t1`CTquwb6ZrakvFS?t`E8G;m!qX3)w$*<5uKTz4n8n$GV=lMr
z_B(c$@aB3w6G23W1PbC*{=lc{_3PMaOmyih;8J4$i{xYtd5>=r0h6saVv$mp5lXB8
z9hG&IP`Mofn1)e|e{+T#x*JYUxIFj-pW=GDeHAoRUmbM#N^TVCHe-IIvrdXv0(NNx
zHHqt~__t=M>mmk7>zL?3vp2GC*%57#(mz5XM7T3$An&`r#h2CKS1Q{gzTK+;wYtpy
zfkpLh>k8&$)?hKR=5;t^L~yj~Grz6Q$)tV(_SVZzz-G1I-`tPf%>h)EY{;*uAdJkT
zr+Z$Z+VJv3k)f*QV1vm@f5+lA27SqN9osA1HD(of!Koef!$ory`dL&4krr*wG-aK~
zid%yX+A-0g$kh*b<{gD|k8}Y)LQ)mOKC;X~+W){}dxzx^+~{$5(i=(IZZxNMiS*vq
zJ4)9%=-h`*0HheL`VWehYLQf1Tt2zcz)=#iCv{z}xj;H`a#dm#qF;hY07Ovew$qXl
z5(40ZZW=Uc;1GbuM5c1&5CbCt1ZMK_k4;!NHs&QmD(i@tP05h5tqJ&`xBI^uxnnK>
z0@4kQ^&}K7!PE`%l$E=3pwobNpxXe}l_@e8)ZeUmTe@0iJMMii&o)4ja59cJ(r<iQ
zF7g79kt(k~nWTs#0BL$kl9`M>qfPTqN-W`6F*lJ`($8wtwgXU@z?vOed<wvZDrQ>|
z$Ka>Cx}sz>N2D9|O7Spf0R-s-6wJBk0z?M08tg!M$}IyS;~h6W-_>1M02$>uK%+{e
zgViw;Foi5!!dZyV`n6?ifa(S1u$iXJm{CvE8kdHQXd<Be2s;=@e(s%h&sVUx;>8C7
zy*$qv=JW4DvJ1xr&$N+2KS2b>()3I?hvoIqOI4o&0;QGr(I9UDQ8R#a%eSiRlBYFj
zS|9Sw;`H}NaCsYbeeU#I44;$I?{IJ*n8Bc3y4%X?5is0b)B))Z0(AO7yAS2A9;p`X
z-6S#?%&JXHxEi%l7nA%=sk(biaz>i{xnLBu*f?!VlJweVQPfKDg@4R`eIZpbZf_Or
zO*G)~ty{occdD5dO02`TF&JzX^Hsk89ijvIW@mO?*50cY&^a-l<yJ<g!|zU-mxeLd
z-9PWx5Gq0M3~lR~u>X)azf%mU(|Z8K$O*f>SlKG{k<Juk^xs@_<P~5S-uEQ&(G5a~
z3%&w$dewv$UqQAcFkC4zP4)8TKMYG<6GH#FcLFGJ_)yP|2x+53Jc5WjX8Kks{uckz
z$haR#8ix;5>`rUY_Oq&opVvaT0Om~<e^&9&0aQ`j1E^uEhijFYJ<J;)^i+R&KOWwf
zs{x^pv+w$fsMT>%zyjr3|IHQ3Xbv#zv^Ms-Y34lZbUP<d>-PW-7*kO4o>!t^w-&HO
z$-7EUxm$~s$`fr@mqy^;_hkq7)LcNG077O56qQUXB3!SRTD4toq<pF<y+4sFuMMFu
z&r6q<V^sMIdwuXqX$huk?xuf9Ato`Ai>yA_?z}Pu`P!ITUn|pCk}&Ew0W8`6x=a#r
zjTg0Msc*LSTHAHy4zr4&ss5=br!s&L2Y>As4V{6<Cz+euBsJK???u~*sj(iK^vXYk
zqzc9<pW7DCz^T_hSy;(Alo06IYux%n@%?~AKTNX~8P|q6%Sf~{Pxl`*d162fUje!4
z*g64(w8Tsp#-R0`PQ&Z#XFKNI;R0aV`&M=x>t@r%O%a??DF?W77s}&kCPmZzN?N_+
zO>B#MWnQgKHD4)-_Ge%sl@>pO2%wT3>%|?8Edb-8X_~HahDTw^i(9hliju39pioPn
zr!bA4p#b?io;3~wR$M2vX=#J`qhJwacwJi*Wb(6&Nv|mgBP{m`wLU?`DSL+GZ4+<I
zGO+^?m-Md1sW)M_%x-nQcJLZC0S7K8X}rHeEZK$KPV1b~bANjjv|V$$PpZ(Z(N*V0
z(dJ3^<<|J<8<Z(%&E9B@ZcWkC>lmt0@y@F|4)egNfb|jaw*6D;jE@cre^woHgepK2
zT4rlCXuPm}2H}qUuoyfM(BbxY0L$niTFGBYqvrtRoCFYa8vo-g*GD3HicBwgUMVtu
zrrcpPAINVhJ>Hqc{|T?gQc%&b$Oc^5M&3=h@?7y355V7WP8#$By{G;=%=*!kXx6FQ
zXA3V$e`Ii_gx7BBLQ;`c0$#;cPE<Qejp=UB<yZ_&&Hzw4w}(?TP-v%xEw)qJ2>U~P
zICBmVGE1^b_ak=KS>?DCyJ4#aPX?sC^=VTp2PPUj0JUdsT~(F_r1Uac^QKJ4f@V$>
zWVVf~9yVS$J~ERkpkVn0J8-YatCuO8uFt=d{VdZmmv20P-ABprFHE1MvaCvK0jAzp
z;c>?3G8Df&R{Xinb7<}Rh_<G(&5^n*h`op1?7eIxiu(KuJWqI+7YfZL(x!>K$cB+O
z5aU;A`UOY^4;PE91rd5C(#}dBSqiDom5M2{&b+RzjE?6iD+OG>CZ(*oIVD@h_js`T
zt|(T@=146YAz`I4xq#kb#S0LT=?>}m(YIB9RB@^j-LH~~<D<Iv0eV{BoaG(?U60~=
zU-G_`$OmCs10Wt3|H?wYd;&MSgZTx0lsyEQu_%uSxv?Zw^{}Z=(ysO0LzQWJqi6Si
z%S7aj4yombVRamJhDE+7M$l#cV7X3qj6Gf)(^Ml?JvqM^XIE(g%42@$5ntUk1Q@ea
zn)Y&-(e%-{mxq#(ISjG*_BcvEd5x0%NV=+QmSZw>4a}_4q${jUws8U;9pPE8Ih7a-
z$$@3Br{m6O(-~HNu-4y2bI8G(9OY^qj4BI{4guVG%S9CSTI^iJP*vo<GCq)Gh)89Y
z0bqu=_=as2Qh!E;AkwFh3znl=`Q?AJ9s#+bW$~Pu!tmSfJ$!zb56;(^yLVH-y7?T@
z%KkevZh*33Jua117=mG1GP;aIA}0fgo<KY3Pu?gzP%<(RVG@c>7~uM{;-(Y%B<B>5
z`NR4>8g*mINQR!Q{8@DN!CR7k=Y-htE)D!(!VCjm4+Nr^`u7%q04_2;1EC9xcLZ1r
zfO1E`F`y7C!iOQAgPUo(CCvucG$7n4cqlceL_#XN+$eeM8S?u>E{F3sPS_W%jo%(F
zCu=bp(s42`8ByOUuL{sf!lvFg1ovZsQ^?6=p1-a#Clf!*fZ=<waI3D!1n;%fG;tgj
zHz1ce)c15DtoI@})gR|zG|-6+re3=aG@LwvYLv2usbSK$fIR7-;BOcw9lbTQD7ZB3
zbpNx1ft{(8IUb#PQp9{JZ}vXBFO+(Xj~Q`bu(}U%^x5XG8;gXI%gOceHAN~RTUes-
zJXFUvm0?ebcgF+eeMon&E;{2Zu8leWh(YG0@Pz^W<IDWE&^y0>D<`(}{5Pk~S%NT<
z)3gsIX?QCq%fzO)dWi4bKKe6-{KPOzk>lCBE7Et3>_`#G%I2}r67)R39B1{i((Oh}
zgB{5#HeA^C;a$#M>C6|wCgAu#QG0!S|II4dW4}g-5$~yvOU)%@0xd`0>DqeV8=BI0
zTYmgf8g2q-ROA<T2udK#Ntp+%SG1*`B<zAJgGQI`D$JCxe^vGey0QEmBS2b2`Y?!z
z-@^JUemOc~+%C9$qKmwp2DE;)n{=c?Um<;zDuZ`rZ}JuC1n-V1Dv;6-umG4G6HN!L
zYxeuioIXLS8O-pOtGCXy_$>)RP@0F~r%m<8mZY4hdPfDD*Ft%3+rlJ(ULk)55HTi-
zC%Qhk+n-@wbNb^uRCB9E(|%#)chZK<fE)U#7Z|Cxn-($JG_qeI_#;+?9YD8ub6o&@
zQoHF%ia%?{OlJ@IOByqimGYe&M!-JWePUV~Ch|xwQi`&pDKC!H;;KIul}fd}IuP#k
z{{*v8@ek)Iy*|X1cys>|`u?W&$j2ig4G;zOPw%5YKjh#H;f2407}8BD^Nu=iBJYU<
z8(dmapIKCl-r_<CMXH9Yp@S7>hCUBj9~lEf89;IFF<RZbS)_gX;<8f=kLBFmF`MzZ
z-Bt-wpHQ{h0+G|AlBa*1%)RiGobmwTd_z3CG@eSOx4eF45h{9)qtFa8XednmXauC_
zRnBw(b7J5Uso+wTAQ;zqgZV<S;HtaNugI^JMSQ==)@?Ebm`)ThYkezh=X7NSlZIiz
zGLE77>l4ob1n&^Ay01|6h$BALI4Lo5t#nLcbA-(N3y>Cxw7lUJAoay`%V2t@H>5Za
z?S6ra1=Rj(u<72F-W+w!YDN#R+DNeaURmH@sbP^`@!W%;=FZ8)oP3QJ1ALh1_z1w5
zm%!zyzps5jPKXo;(Gz4N1&>Sfg!Ms0qw7cDl?44-;=c_Ea9zv+Z+qBt;nG@n_*ow7
z9sa@o>sY@7CRDyI>-jH-Ot1Gt%t2^*XSI3V#&pv%t|I@_9Gp!@8Q{^;Qs=8YGsl*s
zBPRs8zXdZE{lHHt^6ymrN8>#S{dA@O^2jIpq@HO@{IybC9C|JYilwtOHKrL2jZ6F2
zS)VoemtVgWeSu&ZX58$hkW0JGC)P|&i<=7fXZEfGeUN>qrbINAO1%kSBC0q}wJry?
zxFtDiS1tQ5pX`gkRH0f)@nGq1mtj?9oeQueCl=s&OF2+(c3m?4k)Nqa<=%WO!{c;k
zl%(zpK6b%_4DHY*R_Bnzp}G3*IYnAfws$c0Q{J~Qt>c4-c9kH0r8hrT#C`q-(HADR
zOzK?0JQV%tuJ7?Z*Ucgt@aF16xG#auF=Cn*Z;3OS$XogkuO%#ak^Jv9gehpz!g)z5
z$$G-kd01+>Fm~s8l`dftrNnrP8F6AVe-cDuz0<VnIb)NsbX!=k^4GP_ULG7AG+?$u
znRP*;Cwj@nN^(fH&{^-Z-UA?_!0V5At_0`FE(73!N3zEkUyiK-4l9W*W}E}RYz3&7
zu0g^UL1qs%)Cd2VH9x};#L{g58RC|ta14qw@s8pm=*(9cMF&t#KOl%h+1FqyuV3NK
zmo{JCpLtxqe1jhf5XqjMdi`yeQ<M2rRl506_#~V&&9)NwEITk?9>xV}%Wp46!gQYi
zMsV`}N8FLQ&ovYq-yhfIEq+5=fFpo4#fb_~Z(-AGIIIVr6dp+afkBIp%hRd`+RT4_
zO;d6A_Bfg|=Pyi?E(Tu+aqnwkQAqD}-2MJ5ERJza6a|h~URhb(G_nW!18t}Dfz)o~
z%~|j4X|4%)?m>0=p95*DlaZ!8G6bZ2E0ydCnGKzn(%X<caL`7}#c+1x5%LcSz}{j!
zKrV7FO8jo@nrGJ#N_lq3UNka<-CuN~b=PVxMYKf^!o5~fzxFT(6}J?S6us82A0Si*
z6&sczp+}o1dE)Pr{YFfO$Q|FDBBzuAad6M7gwG4j-e0@dk<a@7`k5L-n%qUirj0+#
U@&tqjcoYcI(J)Z2RkM%!KY|oHg8%>k

diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
old mode 100755
new mode 100644
index 9e4830aff..1e5344c66
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -52,7 +52,7 @@
     <body class="bg-dark">
         <br />
         <div>
-            <img class="imgcenter center" src="assets/imgs/Malcolm_banner_white.png" alt="%SITE_NAME%"> 
+            <img class="imgcenter center" src="assets/imgs/Malcolm_outline_banner_dark.png">
         </div>
 
         <br />
@@ -64,25 +64,25 @@ <h3 style="color:white">Internal Links</h3>
                 <div class="card bg-dark">
                     <img src="assets/imgs/Arkime_Logo_FullGradientWhite_Square.png" alt="Arkime" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="https://localhost/sessions/" class="btn btn-primary" target="_blank">Arkime</a>
+                        <a href="/sessions/" class="btn btn-primary" target="_blank">Arkime</a>
                     </div>
                 </div>
                 <div class="card bg-dark">
                     <img src="assets/imgs/icon.png" alt="Upload" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="https://localhost/upload/" class="btn btn-primary" target="_blank">Upload</a>
+                        <a href="/upload/" class="btn btn-primary" target="_blank">Upload</a>
                     </div>
                 </div>
                 <div class="card bg-dark">
                     <img src="assets/imgs/markdown.png" alt="ReadMe" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="https://localhost/readme/" class="btn btn-primary" target="_blank">ReadMe</a>
+                        <a href="/readme/" class="btn btn-primary" target="_blank">ReadMe</a>
                     </div>
                 </div>
                 <div class="card bg-dark">
-                    <img src="assets/imgs/opensearch.png" alt="Opensearch" class="image" style="width:100%">
+                    <img src="assets/imgs/opensearch_mark_darkmode.svg" alt="Opensearch" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="https://localhost/dashboards/" class="btn btn-primary" target="_blank">Opensearch</a>
+                        <a href="/dashboards/" class="btn btn-primary" target="_blank">Opensearch</a>
                     </div>
                 </div>
             </div>
@@ -90,25 +90,25 @@ <h3 style="color:white">Internal Links</h3>
                 <div class="card bg-dark">
                     <img src="assets/imgs/netbox_icon.svg" alt="NetBox" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="https://localhost/netbox/" class="btn btn-primary" target="_blank">Netbox</a>
+                        <a href="/netbox/" class="btn btn-primary" target="_blank">Netbox</a>
                     </div>
                 </div>
                 <div class="card bg-dark">
                     <img src="assets/imgs/lock.png" alt="Auth" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="https://localhost/auth/" class="btn btn-primary" target="_blank">Admin Access</a>
+                        <a href="/auth/" class="btn btn-primary" target="_blank">Admin Access</a>
                     </div>                
                 </div>
                 <div class="card bg-dark">
-                    <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%">
+                    <img src="assets/imgs/cyberchef_hat_text_512.png" alt="Auth" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="https://localhost/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a>
+                        <a href="/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a>
                     </div>                
                 </div>
                 <div class="card bg-dark">    
                     <img src="assets/imgs/api.png" alt="API" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="https://localhost/mapi/" class="btn btn-primary" target="_blank">API</a>
+                        <a href="/mapi/" class="btn btn-primary" target="_blank">API</a>
                     </div>             
                 </div>
             </div>
@@ -119,7 +119,7 @@ <h3 style="color:white">Internal Links</h3>
             <h3 style="color:white">External Links</h3>
             <div class="card-group">
                 <div class="card bg-dark">
-                    <img src="assets/imgs/github-mark-white.svg" alt="Auth" class="image" style="width:100%">
+                    <img src="assets/imgs/GitHub-Mark-Light-120px-plus.png" alt="Auth" class="image" style="width:100%">
                     <div class="middle">
                         <a href="https://github.com/cisagov/Malcolm" class="btn btn-primary" target="_blank">GitHub</a>
                     </div>                

From c149fd6c98d00d8183cfa58598241fbfd71b058c Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 13:51:01 -0700
Subject: [PATCH 09/88] landingpage work in progress (idaholab/Malcolm#252)

---
 Dockerfiles/nginx.Dockerfile  | 28 ++++++++++++++--------------
 docker-compose-standalone.yml |  1 -
 docker-compose.yml            |  1 -
 3 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index 34c04c258..196458fe6 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -97,13 +97,13 @@ ADD https://codeload.github.com/yaoweibin/ngx_http_substitutions_filter_module/t
 ADD http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz /nginx.tar.gz
 
 # component icons from original sources
-ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/landingpage/assets/imgs/
-ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/landingpage/assets/imgs/
-ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/landingpage/assets/imgs/
-ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/landingpage/assets/imgs/
-ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/landingpage/assets/imgs/
-ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/landingpage/assets/imgs/
-ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/landingpage/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/landing/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/landing/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/landing/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/landing/assets/imgs/
+ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/landing/assets/imgs/
+ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/landing/assets/imgs/
+ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/landing/assets/imgs/
 ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/
 
 RUN set -x ; \
@@ -228,20 +228,20 @@ RUN set -x ; \
   touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf; \
   cd /tmp; \
     unzip ./GitHub-Mark.zip; \
-    mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/html/landingpage/assets/imgs/; \
+    mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/landing/assets/imgs/; \
     rm -rf ./GitHub-Mark.zip ./GitHub-Mark; \
-  chmod 644 /usr/share/nginx/html/landingpage/assets/imgs/*.*;
+  chmod 644 /usr/share/nginx/landing/assets/imgs/*.*;
 
 COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/
 COPY --from=docbuild /site/_site /usr/share/nginx/html/readme
 
-COPY nginx/landingpage /usr/share/nginx/html/landingpage
-COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/html/landingpage/assets/imgs/
-COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/html/landingpage/assets/imgs/
-COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/html/landingpage/assets/imgs/
-COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/html/landingpage/assets/imgs/
+COPY nginx/landingpage /usr/share/nginx/landing
+COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/landing/assets/imgs/
+COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/landing/assets/imgs/
+COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/landing/assets/imgs/
+COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/landing/assets/imgs/
 COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 ADD nginx/scripts /usr/local/bin/
 ADD nginx/*.conf /etc/nginx/
diff --git a/docker-compose-standalone.yml b/docker-compose-standalone.yml
index 9d054329c..0d670754a 100644
--- a/docker-compose-standalone.yml
+++ b/docker-compose-standalone.yml
@@ -720,7 +720,6 @@ services:
       - ./nginx/htpasswd:/etc/nginx/auth/htpasswd:ro
       - ./nginx/certs:/etc/nginx/certs:ro
       - ./nginx/certs/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro
-      - ./nginx/landingpage:/usr/share/nginx:ro
     healthcheck:
       test: ["CMD", "curl", "--insecure", "--silent", "https://localhost:443"]
       interval: 30s
diff --git a/docker-compose.yml b/docker-compose.yml
index f031a1aa8..b72ace183 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -800,7 +800,6 @@ services:
       - ./nginx/htpasswd:/etc/nginx/auth/htpasswd:ro
       - ./nginx/certs:/etc/nginx/certs:ro
       - ./nginx/certs/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro
-      - ./nginx/landingpage:/usr/share/nginx/:ro
     healthcheck:
       test: ["CMD", "curl", "--insecure", "--silent", "https://localhost:443"]
       interval: 30s

From 31d87a08ff19850d42b2a44de39873177194c899 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 14:09:06 -0700
Subject: [PATCH 10/88] landingpage work in progress (idaholab/Malcolm#252)

---
 arkime/etc/config.ini        |  6 ++++++
 nginx/landingpage/index.html | 10 +++++-----
 nginx/nginx.conf             |  5 ++---
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/arkime/etc/config.ini b/arkime/etc/config.ini
index 34aed4c57..5a0d33b81 100644
--- a/arkime/etc/config.ini
+++ b/arkime/etc/config.ini
@@ -3,6 +3,12 @@
 # See also https://github.com/arkime/arkime/blob/master/release/config.ini.sample
 #
 
+# [MALCOLM_DEFAULT_NODE_NAME]
+# webBasePath=/arkime/
+#
+# [MALCOLM_DEFAULT_NODE_NAME]
+# webBasePath=/arkime/
+
 [default]
 antiSynDrop=false
 certFile=/opt/arkime/etc/viewer.crt
diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index 1e5344c66..bdef19909 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -64,7 +64,7 @@ <h3 style="color:white">Internal Links</h3>
                 <div class="card bg-dark">
                     <img src="assets/imgs/Arkime_Logo_FullGradientWhite_Square.png" alt="Arkime" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="/sessions/" class="btn btn-primary" target="_blank">Arkime</a>
+                        <a href="/arkime/" class="btn btn-primary" target="_blank">Arkime</a>
                     </div>
                 </div>
                 <div class="card bg-dark">
@@ -82,7 +82,7 @@ <h3 style="color:white">Internal Links</h3>
                 <div class="card bg-dark">
                     <img src="assets/imgs/opensearch_mark_darkmode.svg" alt="Opensearch" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="/dashboards/" class="btn btn-primary" target="_blank">Opensearch</a>
+                        <a href="/dashboards/" class="btn btn-primary" target="_blank">Dashboards</a>
                     </div>
                 </div>
             </div>
@@ -90,13 +90,13 @@ <h3 style="color:white">Internal Links</h3>
                 <div class="card bg-dark">
                     <img src="assets/imgs/netbox_icon.svg" alt="NetBox" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="/netbox/" class="btn btn-primary" target="_blank">Netbox</a>
+                        <a href="/netbox/" class="btn btn-primary" target="_blank">NetBox</a>
                     </div>
                 </div>
                 <div class="card bg-dark">
                     <img src="assets/imgs/lock.png" alt="Auth" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="/auth/" class="btn btn-primary" target="_blank">Admin Access</a>
+                        <a href="/auth/" class="btn btn-primary" target="_blank">Local Account Management</a>
                     </div>                
                 </div>
                 <div class="card bg-dark">
@@ -121,7 +121,7 @@ <h3 style="color:white">External Links</h3>
                 <div class="card bg-dark">
                     <img src="assets/imgs/GitHub-Mark-Light-120px-plus.png" alt="Auth" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="https://github.com/cisagov/Malcolm" class="btn btn-primary" target="_blank">GitHub</a>
+                        <a href="https://github.com/idaholab/Malcolm" class="btn btn-primary" target="_blank">GitHub</a>
                     </div>                
                 </div>
                 <div class="card bg-dark">             
diff --git a/nginx/nginx.conf b/nginx/nginx.conf
index ec6ea9112..ad96c484a 100644
--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -282,10 +282,9 @@ http {
     }
 
     # Arkime
-    location /sessions {
+    location /arkime {
       include /etc/nginx/nginx_auth_rt.conf;
-      proxy_pass https://arkime;
-      proxy_ssl_verify off;
+      proxy_pass http://arkime;
       proxy_redirect off;
       proxy_set_header Host arkime.malcolm.local;
       proxy_set_header http_auth_http_user $authenticated_user;

From b8bae9a4d8ecdb87666687959fc79a683f8b2b03 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 14:49:23 -0700
Subject: [PATCH 11/88] landingpage work in progress (idaholab/Malcolm#252)

---
 Dockerfiles/nginx.Dockerfile        | 4 ++--
 arkime/etc/config.ini               | 7 ++-----
 arkime/scripts/docker_entrypoint.sh | 2 ++
 nginx/nginx.conf                    | 2 +-
 4 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index 196458fe6..5f5f266dd 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -235,9 +235,8 @@ RUN set -x ; \
 COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/
-COPY --from=docbuild /site/_site /usr/share/nginx/html/readme
 
-COPY nginx/landingpage /usr/share/nginx/landing
+ADD nginx/landingpage/* /usr/share/nginx/landing/
 COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/landing/assets/imgs/
 COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/landing/assets/imgs/
 COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/landing/assets/imgs/
@@ -247,6 +246,7 @@ ADD nginx/scripts /usr/local/bin/
 ADD nginx/*.conf /etc/nginx/
 ADD nginx/supervisord.conf /etc/
 ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico
+ADD docs/images/icon/favicon.ico /usr/share/nginx/landing/favicon.ico
 
 
 VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"]
diff --git a/arkime/etc/config.ini b/arkime/etc/config.ini
index 5a0d33b81..3a71c6291 100644
--- a/arkime/etc/config.ini
+++ b/arkime/etc/config.ini
@@ -3,11 +3,8 @@
 # See also https://github.com/arkime/arkime/blob/master/release/config.ini.sample
 #
 
-# [MALCOLM_DEFAULT_NODE_NAME]
-# webBasePath=/arkime/
-#
-# [MALCOLM_DEFAULT_NODE_NAME]
-# webBasePath=/arkime/
+[MALCOLM_PCAP_NODE_NAME]
+webBasePath=/arkime/
 
 [default]
 antiSynDrop=false
diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh
index 1a6b4b031..9a5298a67 100755
--- a/arkime/scripts/docker_entrypoint.sh
+++ b/arkime/scripts/docker_entrypoint.sh
@@ -16,6 +16,7 @@ ARKIME_FREESPACEG=${ARKIME_FREESPACEG:-"10%"}
 CAPTURE_INTERFACE=${PCAP_IFACE:-}
 LIVE_CAPTURE=${ARKIME_LIVE_CAPTURE:-false}
 VIEWER_PORT=${ARKIME_VIEWER_PORT:-8005}
+NODE_NAME=${PCAP_NODE_NAME:-malcolm}
 
 MALCOLM_PROFILE=${MALCOLM_PROFILE:-"malcolm"}
 OPENSEARCH_URL_FINAL=${OPENSEARCH_URL:-"http://opensearch:9200"}
@@ -59,6 +60,7 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i
     sed -i "s/^\(freeSpaceG=\).*/\1"${ARKIME_FREESPACEG}"/" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(viewPort=\).*/\1"${VIEWER_PORT}"/" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(pcapDir=\).*/\1\/data\/pcap\/arkime-live/" "${ARKIME_CONFIG_FILE}"
+    sed -i "s/MALCOLM_PCAP_NODE_NAME/${NODE_NAME}/g" "${ARKIME_CONFIG_FILE}"
 
     # performance tuning parameters
     [[ -n "$ARKIME_DB_BULK_SIZE" ]] && \
diff --git a/nginx/nginx.conf b/nginx/nginx.conf
index ad96c484a..922f7e3ae 100644
--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -284,7 +284,7 @@ http {
     # Arkime
     location /arkime {
       include /etc/nginx/nginx_auth_rt.conf;
-      proxy_pass http://arkime;
+      proxy_pass https://arkime;
       proxy_redirect off;
       proxy_set_header Host arkime.malcolm.local;
       proxy_set_header http_auth_http_user $authenticated_user;

From 01d73c52ce7900fc6708dd352b72c9ef0ca6becf Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 15:01:53 -0700
Subject: [PATCH 12/88] landingpage work in progress (idaholab/Malcolm#252)

---
 nginx/landingpage/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index bdef19909..221664e2d 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -100,7 +100,7 @@ <h3 style="color:white">Internal Links</h3>
                     </div>                
                 </div>
                 <div class="card bg-dark">
-                    <img src="assets/imgs/cyberchef_hat_text_512.png" alt="Auth" class="image" style="width:100%">
+                    <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%">
                     <div class="middle">
                         <a href="/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a>
                     </div>                

From 4160edff96aa3ebd2deb95bd53070ceab24ed3d5 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 15:15:11 -0700
Subject: [PATCH 13/88] landingpage work in progress (idaholab/Malcolm#252)

---
 .../dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json       | 2 +-
 .../dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json       | 2 +-
 .../dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json       | 2 +-
 .../dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json       | 2 +-
 .../dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json       | 2 +-
 .../dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json       | 2 +-
 .../dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json       | 2 +-
 .../dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json       | 2 +-
 .../dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json       | 2 +-
 .../dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json       | 2 +-
 .../dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json       | 2 +-
 .../dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json       | 2 +-
 .../dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json       | 2 +-
 .../dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json       | 2 +-
 .../dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json       | 2 +-
 .../dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json       | 2 +-
 .../dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json       | 2 +-
 .../dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json       | 2 +-
 .../dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json       | 2 +-
 .../dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json       | 2 +-
 .../dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json       | 2 +-
 .../dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json       | 2 +-
 .../dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json       | 2 +-
 .../dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json       | 2 +-
 .../dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json       | 2 +-
 .../dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json       | 2 +-
 .../dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json       | 2 +-
 .../dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json       | 2 +-
 .../dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json       | 2 +-
 .../dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json       | 2 +-
 .../dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json       | 2 +-
 .../dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json       | 2 +-
 .../dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json       | 2 +-
 .../dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json       | 2 +-
 .../dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json       | 2 +-
 .../dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json       | 2 +-
 .../dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json       | 2 +-
 .../dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json       | 2 +-
 .../dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json       | 2 +-
 .../dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json       | 2 +-
 .../dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json       | 2 +-
 .../dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json       | 2 +-
 .../dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json       | 2 +-
 .../dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json       | 2 +-
 .../dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json       | 2 +-
 .../dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json       | 2 +-
 .../dashboards/95479950-41f2-11ea-88fa-7151df485405.json       | 2 +-
 .../dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json       | 2 +-
 .../dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json       | 2 +-
 .../dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json       | 2 +-
 .../dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json       | 2 +-
 .../dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json       | 2 +-
 .../dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json       | 2 +-
 .../dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json       | 2 +-
 .../dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json       | 2 +-
 .../dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json       | 2 +-
 .../dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json       | 2 +-
 .../dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json       | 2 +-
 .../dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json       | 2 +-
 .../dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json       | 2 +-
 .../dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json       | 2 +-
 .../dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json       | 2 +-
 .../dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json       | 2 +-
 .../dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json       | 2 +-
 .../dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json       | 2 +-
 .../dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json       | 2 +-
 .../dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json       | 2 +-
 .../dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json       | 2 +-
 .../dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json       | 2 +-
 .../dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json       | 2 +-
 .../dashboards/f394057d-1b16-4174-b994-7045f423a416.json       | 2 +-
 .../dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json       | 2 +-
 .../dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json       | 2 +-
 .../dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json       | 2 +-
 dashboards/scripts/create-arkime-sessions-index.sh             | 2 +-
 docs/cyberchef.md                                              | 2 +-
 docs/kubernetes.md                                             | 3 ++-
 docs/ubuntu-install-example.md                                 | 3 ++-
 nginx/landingpage/index.html                                   | 2 +-
 scripts/control.py                                             | 3 ++-
 80 files changed, 83 insertions(+), 80 deletions(-)

diff --git a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
index ea08b505b..dd55d865a 100644
--- a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
+++ b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
@@ -112,7 +112,7 @@
       "version": "Wzc0MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
index ca7c366cc..7f432f35b 100644
--- a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
+++ b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
@@ -87,7 +87,7 @@
       "version": "Wzc5NSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
index 29f6d1479..897ebb88a 100644
--- a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
+++ b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
@@ -92,7 +92,7 @@
       "version": "Wzg3OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
index d987bbbbb..fdcb0d860 100644
--- a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
+++ b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
index ffd6b9508..c7de97cca 100644
--- a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
+++ b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
@@ -87,7 +87,7 @@
       "version": "WzkzNiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
index 2b488d10c..93f0ad777 100644
--- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
+++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
@@ -87,7 +87,7 @@
       "version": "Wzc5NSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
index b1d6d1f29..5b12108a0 100644
--- a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
+++ b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
index f513a366d..3081bc906 100644
--- a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
+++ b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
@@ -107,7 +107,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
index c8d3a2d0f..c4bd61fdf 100644
--- a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
+++ b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
@@ -82,7 +82,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
index 29e76403e..ad93e575a 100644
--- a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
+++ b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
index c5dea9322..379e2e8f9 100644
--- a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
+++ b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
@@ -82,7 +82,7 @@
       "version": "Wzc1NSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
index ce98e6a07..0ef978d75 100644
--- a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
+++ b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
@@ -127,7 +127,7 @@
       "version": "Wzg1NywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
index a6e04508f..76236f328 100644
--- a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
+++ b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
@@ -92,7 +92,7 @@
       "version": "WzkzNiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
index ce8e25f98..c226f7e9f 100644
--- a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
index 15d5d76aa..a93e2e466 100644
--- a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
+++ b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
@@ -72,7 +72,7 @@
       "version": "Wzc4NCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
index cf9e7a2f9..8e32017c8 100644
--- a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
@@ -102,7 +102,7 @@
       "version": "Wzc4NSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
index 55f5dfa5a..4975bb3da 100644
--- a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
@@ -112,7 +112,7 @@
       "version": "Wzg1NiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
index 4e1a4b49f..f976325fc 100644
--- a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
+++ b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
@@ -122,7 +122,7 @@
       "version": "Wzg0OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
index f59a125d8..e80a561d0 100644
--- a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
+++ b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
@@ -107,7 +107,7 @@
       "version": "Wzg3OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
index df5b2e336..c33f62e04 100644
--- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
+++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
@@ -117,7 +117,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
index f1e645856..021a33650 100644
--- a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
@@ -72,7 +72,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
index c569968ca..2f3585c98 100644
--- a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
+++ b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
@@ -97,7 +97,7 @@
       "version": "Wzc2OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
index a3db7ce3f..3f5bcda89 100644
--- a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
+++ b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
@@ -127,7 +127,7 @@
       "version": "Wzg1OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
index 6fb7c22f0..a853ad2fc 100644
--- a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
index 5c3d64b16..2158350bf 100644
--- a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
+++ b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
@@ -102,7 +102,7 @@
       "version": "WzkzNywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
index 5c6fc3a98..de6fc28aa 100644
--- a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
+++ b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
@@ -97,7 +97,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
index 3b045fe14..f42f2026f 100644
--- a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
+++ b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
@@ -82,7 +82,7 @@
       "version": "Wzg4MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
index 6939f225b..90f6202fb 100644
--- a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
+++ b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
@@ -92,7 +92,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
index 8bae2a4b5..e19a7f47b 100644
--- a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
+++ b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
@@ -87,7 +87,7 @@
       "version": "Wzg1OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
index b44c79a94..f451ce54a 100644
--- a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
+++ b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
@@ -97,7 +97,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
index 7f104bb9f..b0c8c9330 100644
--- a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
+++ b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
@@ -97,7 +97,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
index 8a62f658e..b4a9dc84d 100644
--- a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -47,7 +47,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
index 4d6aad23b..62c4c17f3 100644
--- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
+++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
@@ -97,7 +97,7 @@
       "version": "Wzc4NCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
index 5249c597a..3a259c876 100644
--- a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
+++ b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
index 8f35eac92..e86eadc09 100644
--- a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
+++ b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
@@ -77,7 +77,7 @@
       "version": "Wzc4NCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
index 9de0cd9c9..a90ffa3ae 100644
--- a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
+++ b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
@@ -117,7 +117,7 @@
       "version": "Wzg2MCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
index 63773559e..044bef8b1 100644
--- a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
+++ b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
@@ -82,7 +82,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
index 3057f4443..c29fabf3f 100644
--- a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
index 3fb604769..29018b3e2 100644
--- a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
+++ b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
@@ -92,7 +92,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
index 17499094c..9f3c8535e 100644
--- a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
+++ b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
@@ -127,7 +127,7 @@
       "version": "WzcyNiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
index b34f26e0d..bf3b569cc 100644
--- a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
+++ b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
@@ -107,7 +107,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
index 53d30ba5b..a080c3e2c 100644
--- a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
+++ b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
@@ -102,7 +102,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
index 90b3e5b69..22fd40a17 100644
--- a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
+++ b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
@@ -92,7 +92,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
index 06d21e77f..6fe1e0aab 100644
--- a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
+++ b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
@@ -62,7 +62,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
index 7297ee956..ebc0563e8 100644
--- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
+++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
@@ -102,7 +102,7 @@
       "version": "WzgzNywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
index c3fc04632..9c2307012 100644
--- a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
+++ b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
index c21a60eb9..7da2f2b80 100644
--- a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
+++ b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
@@ -102,7 +102,7 @@
       "version": "Wzg1NywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
index e6d1dc56a..b40361267 100644
--- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
+++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
@@ -117,7 +117,7 @@
       "version": "Wzc4NiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
index 9fe63e3f9..a09f62ff4 100644
--- a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
index a00e4c84a..c014f4a80 100644
--- a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
+++ b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
@@ -82,7 +82,7 @@
       "version": "Wzg1OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
index 50d04fc53..3bb747c95 100644
--- a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
index ffebbd121..7e705d7e5 100644
--- a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
+++ b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
@@ -167,7 +167,7 @@
       "version": "Wzc4NiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
index 39639fa5b..ae7dd1c31 100644
--- a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
+++ b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
@@ -87,7 +87,7 @@
       "version": "WzkzNywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
index 8cb956b83..27e948b3c 100644
--- a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
+++ b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
index 6f67963ab..b36c99d39 100644
--- a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
+++ b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
index 2dc78d81d..3b3d9494a 100644
--- a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
index 5191afdf9..85db02f8b 100644
--- a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
+++ b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
@@ -107,7 +107,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
index 045dcf481..fafbb9724 100644
--- a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
@@ -72,7 +72,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
index 42c7553c9..7696aca08 100644
--- a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
+++ b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
@@ -82,7 +82,7 @@
       "version": "WzY5MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
index 32e1048df..e1dbe8789 100644
--- a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
+++ b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
@@ -77,7 +77,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
index 6f224eb64..902c9edf2 100644
--- a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
+++ b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
@@ -92,7 +92,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
index 3ac877cb5..8060287c3 100644
--- a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
+++ b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
@@ -102,7 +102,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
index 4a36a074c..1d4af528f 100644
--- a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
+++ b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
@@ -112,7 +112,7 @@
       "version": "WzczOSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
index e1cf5ddc3..3935703d5 100644
--- a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
index 0bfe4edcc..1d7995bb7 100644
--- a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
+++ b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
index 74b3b254b..d1f6db864 100644
--- a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
+++ b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
@@ -107,7 +107,7 @@
       "version": "WzgzOCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
index 75883dbc1..e72cb9bc8 100644
--- a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
+++ b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
index 5df1371a5..02179d422 100644
--- a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
@@ -87,7 +87,7 @@
       "version": "WzgwMSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
index f13e54751..662b0b6e1 100644
--- a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
@@ -47,7 +47,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
index db0f95c3f..b0f9d6a7f 100644
--- a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
+++ b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
@@ -137,7 +137,7 @@
       "version": "Wzc4NCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
index d914f693a..d03bbf685 100644
--- a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
+++ b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
index c785b26b5..a871622ba 100644
--- a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
+++ b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
@@ -102,7 +102,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
index 20d4cffc9..47a28dcc3 100644
--- a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
@@ -77,7 +77,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
index 83c8325b6..d122bfa4e 100644
--- a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
+++ b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
@@ -102,7 +102,7 @@
       "version": "WzkzNywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/sessions)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/create-arkime-sessions-index.sh
index a118dd46c..868f9d135 100755
--- a/dashboards/scripts/create-arkime-sessions-index.sh
+++ b/dashboards/scripts/create-arkime-sessions-index.sh
@@ -199,7 +199,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
           for i in "${DASHBOARDS_IMPORT_DIR}"/*.json; do
             if [[ "$DATASTORE_TYPE" == "elasticsearch" ]]; then
               # strip out Arkime and NetBox links from dashboards' navigation pane when doing Kibana import (idaholab/Malcolm#286)
-              sed -i 's/  \\\\n\[↪ NetBox\](\/netbox\/)  \\\\n\[↪ Arkime\](\/sessions)//' "$i"
+              sed -i 's/  \\\\n\[↪ NetBox\](\/netbox\/)  \\\\n\[↪ Arkime\](\/arkime)//' "$i"
               # take care of a few other substitutions
               sed -i 's/opensearchDashboardsAddFilter/kibanaAddFilter/g' "$i"
             fi
diff --git a/docs/cyberchef.md b/docs/cyberchef.md
index 4acc3e879..292be4e89 100644
--- a/docs/cyberchef.md
+++ b/docs/cyberchef.md
@@ -1,5 +1,5 @@
 # <a name="CyberChef"></a>CyberChef
 
-Malcolm provides an instance of [CyberChef](https://github.com/gchq/CyberChef), which describes itself as the "Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis." CyberChef is available at at **https://localhost/cyberchef.html** if connecting locally.
+Malcolm provides an instance of [CyberChef](https://github.com/gchq/CyberChef), which describes itself as the "Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis." CyberChef is available at at **https://localhost/arkime/cyberchef/** if connecting locally.
 
 Arkime's [Sessions](arkime.md#ArkimeSessions) view has built-in CyberChef integration for Arkime sessions with full PCAP payloads available: expanding a session and opening the **Packet Options** drop-down menu in its payload section will provide options for **Open src packets with CyberChef** and **Open dst packets with CyberChef**.
\ No newline at end of file
diff --git a/docs/kubernetes.md b/docs/kubernetes.md
index 38e14b911..13ea6b2a4 100644
--- a/docs/kubernetes.md
+++ b/docs/kubernetes.md
@@ -537,10 +537,11 @@ Started Malcolm
 
 Malcolm services can be accessed via the following URLs:
 ------------------------------------------------------------------------------
-  - Arkime: https://192.168.56.10/
+  - Arkime: https://192.168.56.10/arkime/
   - OpenSearch Dashboards: https://192.168.56.10/dashboards/
   - PCAP upload (web): https://192.168.56.10/upload/
   - NetBox: https://192.168.56.10/netbox/
+  - CyberChef: https://192.168.56.10/arkime/cyberchef/
   - Account management: https://192.168.56.10/auth/
   - Documentation: https://192.168.56.10/readme/
 
diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md
index c7fe7ea91..736ef9107 100644
--- a/docs/ubuntu-install-example.md
+++ b/docs/ubuntu-install-example.md
@@ -280,11 +280,12 @@ Finally, start Malcolm. When Malcolm starts it will stream informational and deb
 user@host:~/Malcolm$ ./scripts/start
 In a few minutes, Malcolm services will be accessible via the following URLs:
 ------------------------------------------------------------------------------
-  - Arkime: https://localhost/
+  - Arkime: https://localhost/arkime/
   - OpenSearch Dashboards: https://localhost/dashboards/
   - PCAP upload (web): https://localhost/upload/
   - PCAP upload (sftp): sftp://username@127.0.0.1:8022/files/
   - NetBox: https://localhost/netbox/  
+  - CyberChef: https://localhost/arkime/cyberchef/
   - Account management: https://localhost/auth/
   - Documentation: https://localhost/readme/
 
diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index 221664e2d..1a22674e2 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -102,7 +102,7 @@ <h3 style="color:white">Internal Links</h3>
                 <div class="card bg-dark">
                     <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%">
                     <div class="middle">
-                        <a href="/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a>
+                        <a href="/arkime/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a>
                     </div>                
                 </div>
                 <div class="card bg-dark">    
diff --git a/scripts/control.py b/scripts/control.py
index 6edc27f47..3ff2507df 100755
--- a/scripts/control.py
+++ b/scripts/control.py
@@ -458,12 +458,13 @@ def printURLs():
     print("\nMalcolm services can be accessed via the following URLs:")
     print("------------------------------------------------------------------------------")
     print(f"  - Landing Page: https://{myIp}/")
-    print(f"  - Arkime: https://{myIp}/sessions/")
+    print(f"  - Arkime: https://{myIp}/arkime/")
     print(f"  - OpenSearch Dashboards: https://{myIp}/dashboards/")
     print(f"  - PCAP upload (web): https://{myIp}/upload/")
     if orchMode is not OrchestrationFramework.KUBERNETES:
         print(f"  - PCAP upload (sftp): sftp://username@{myIp}:8022/files/")
     print(f"  - NetBox: https://{myIp}/netbox/")
+    print(f"  - CyberChef: https://{myIp}/arkime/cyberchef/")
     print(f"  - Account management: https://{myIp}/auth/")
     print(f"  - Documentation: https://{myIp}/readme/")
 

From 618fc17bcf3ce792e90cca4f0c1219cff480522f Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 15:41:28 -0700
Subject: [PATCH 14/88] landingpage work in progress (idaholab/Malcolm#252)

---
 nginx/nginx.conf | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/nginx/nginx.conf b/nginx/nginx.conf
index 922f7e3ae..58169a169 100644
--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -168,7 +168,7 @@ http {
         set $filter_value $arg_value;
       }
 
-      rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'sessions2-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'sessions2-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect;
+      rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'arkime_sessions3-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'arkime_sessions3-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect;
       proxy_pass http://dashboards;
       proxy_redirect off;
       proxy_set_header Host dashboards.malcolm.local;
@@ -176,7 +176,7 @@ http {
 
     # Dashboards -> Arkime shortcut
     location ~* /iddash2ark/(.*) {
-      rewrite ^.*/iddash2ark/(.*) /sessions?expression=($1) redirect;
+      rewrite ^.*/iddash2ark/(.*) /arkime/sessions?expression=($1) redirect;
       proxy_pass https://arkime;
       proxy_ssl_verify off;
       proxy_redirect off;

From 7c7156dad651a412abb568f8d00e2beeadf6603d Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 16:06:38 -0700
Subject: [PATCH 15/88] landingpage work in progress (idaholab/Malcolm#252)

---
 Dockerfiles/nginx.Dockerfile | 32 ++++++++++++++++----------------
 nginx/nginx.conf             | 11 ++---------
 2 files changed, 18 insertions(+), 25 deletions(-)

diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index 5f5f266dd..73ec74c2b 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -97,13 +97,13 @@ ADD https://codeload.github.com/yaoweibin/ngx_http_substitutions_filter_module/t
 ADD http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz /nginx.tar.gz
 
 # component icons from original sources
-ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/landing/assets/imgs/
-ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/landing/assets/imgs/
-ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/landing/assets/imgs/
-ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/landing/assets/imgs/
-ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/landing/assets/imgs/
-ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/landing/assets/imgs/
-ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/landing/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/assets/imgs/
+ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/assets/imgs/
+ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/assets/imgs/
+ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/assets/imgs/
+ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/assets/imgs/
 ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/
 
 RUN set -x ; \
@@ -193,7 +193,6 @@ RUN set -x ; \
   make install ; \
   rm -rf /etc/nginx/html/ ; \
   mkdir -p /etc/nginx/conf.d/ /etc/nginx/auth/ /usr/share/nginx/html/ ; \
-  install -m644 html/index.html /usr/share/nginx/html/ ; \
   install -m644 html/50x.html /usr/share/nginx/html/ ; \
   install -m755 objs/nginx-debug /usr/sbin/nginx-debug ; \
   install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so ; \
@@ -228,25 +227,26 @@ RUN set -x ; \
   touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf; \
   cd /tmp; \
     unzip ./GitHub-Mark.zip; \
-    mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/landing/assets/imgs/; \
+    mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/html/assets/imgs/; \
     rm -rf ./GitHub-Mark.zip ./GitHub-Mark; \
-  chmod 644 /usr/share/nginx/landing/assets/imgs/*.*;
+  chmod 644 /usr/share/nginx/html/assets/imgs/*.*;
 
 COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/
+COPY --from=docbuild /site/_site /usr/share/nginx/html/readme
 
-ADD nginx/landingpage/* /usr/share/nginx/landing/
-COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/landing/assets/imgs/
-COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/landing/assets/imgs/
-COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/landing/assets/imgs/
-COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/landing/assets/imgs/
+ADD nginx/landingpage /usr/share/nginx/html
+COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/html/assets/imgs/
+COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/html/assets/imgs/
+COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/html/assets/imgs/
+COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/html/assets/imgs/
 COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 ADD nginx/scripts /usr/local/bin/
 ADD nginx/*.conf /etc/nginx/
 ADD nginx/supervisord.conf /etc/
 ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico
-ADD docs/images/icon/favicon.ico /usr/share/nginx/landing/favicon.ico
+ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico
 
 
 VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"]
diff --git a/nginx/nginx.conf b/nginx/nginx.conf
index 58169a169..fc0289e84 100644
--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -113,13 +113,6 @@ http {
       subs_filter '/fonts/glyphicons' '/auth/fonts/glyphicons' gi;
     }
 
-    # Malcolm readme
-    location /readme {
-      include /etc/nginx/nginx_auth_rt.conf;
-      root /usr/share/nginx/html;
-      try_files $uri $uri/index.html;
-    }
-
     # Malcolm file upload
     location /upload {
       include /etc/nginx/nginx_auth_rt.conf;
@@ -291,10 +284,10 @@ http {
       proxy_set_header Authorization "";
     }
 
-    # Landing Page
+    # Landing Page and README
     location / {
       include /etc/nginx/nginx_auth_rt.conf;
-      root /usr/share/nginx/landing;
+      root /usr/share/nginx/html;
       try_files $uri $uri/index.html;
     }
   }

From 7af5ee6d97e6763e23075cd067dcb91abba94c07 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 16:20:57 -0700
Subject: [PATCH 16/88] landingpage work in progress (idaholab/Malcolm#252)

---
 Dockerfiles/nginx.Dockerfile               |  10 +++++-----
 nginx/landingpage/assets/imgs/api.png      | Bin 13065 -> 0 bytes
 nginx/landingpage/assets/imgs/lock.png     | Bin 6031 -> 0 bytes
 nginx/landingpage/assets/imgs/markdown.png | Bin 14943 -> 0 bytes
 nginx/landingpage/index.html               |  10 +++++-----
 5 files changed, 10 insertions(+), 10 deletions(-)
 delete mode 100644 nginx/landingpage/assets/imgs/api.png
 delete mode 100644 nginx/landingpage/assets/imgs/lock.png
 delete mode 100644 nginx/landingpage/assets/imgs/markdown.png

diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index 73ec74c2b..64df47254 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -104,6 +104,11 @@ ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /u
 ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/assets/imgs/
 ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/assets/imgs/
 ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/assets/imgs/
+ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/upload.svg /usr/share/nginx/html/assets/imgs/
+ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/users-group.svg /usr/share/nginx/html/assets/imgs/
+ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/help-square-rounded.svg /usr/share/nginx/html/assets/imgs/
+ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/api.svg /usr/share/nginx/html/assets/imgs/
+
 ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/
 
 RUN set -x ; \
@@ -237,16 +242,11 @@ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx
 COPY --from=docbuild /site/_site /usr/share/nginx/html/readme
 
 ADD nginx/landingpage /usr/share/nginx/html
-COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/html/assets/imgs/
-COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/html/assets/imgs/
-COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/html/assets/imgs/
-COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/html/assets/imgs/
 COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 ADD nginx/scripts /usr/local/bin/
 ADD nginx/*.conf /etc/nginx/
 ADD nginx/supervisord.conf /etc/
 ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico
-ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico
 
 
 VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"]
diff --git a/nginx/landingpage/assets/imgs/api.png b/nginx/landingpage/assets/imgs/api.png
deleted file mode 100644
index c6c4eb0077d1c2fc5b98f0e87ec6b009a2648d82..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 13065
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

diff --git a/nginx/landingpage/assets/imgs/lock.png b/nginx/landingpage/assets/imgs/lock.png
deleted file mode 100644
index c09d3081678c8358d6ba4f99974b81f674358ca3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6031
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

diff --git a/nginx/landingpage/assets/imgs/markdown.png b/nginx/landingpage/assets/imgs/markdown.png
deleted file mode 100644
index b70d3815a9838438b0605a12e5216accd920592a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14943
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

diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index 1a22674e2..b9fd9c6e4 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -52,7 +52,7 @@
     <body class="bg-dark">
         <br />
         <div>
-            <img class="imgcenter center" src="assets/imgs/Malcolm_outline_banner_dark.png">
+            <img class="imgcenter center" src="readme/docs/images/logo/Malcolm_outline_banner_dark.png">
         </div>
 
         <br />
@@ -68,13 +68,13 @@ <h3 style="color:white">Internal Links</h3>
                     </div>
                 </div>
                 <div class="card bg-dark">
-                    <img src="assets/imgs/icon.png" alt="Upload" class="image" style="width:100%">
+                    <img src="assets/imgs/upload.svg" alt="Upload" class="image" style="width:100%">
                     <div class="middle">
                         <a href="/upload/" class="btn btn-primary" target="_blank">Upload</a>
                     </div>
                 </div>
                 <div class="card bg-dark">
-                    <img src="assets/imgs/markdown.png" alt="ReadMe" class="image" style="width:100%">
+                    <img src="assets/imgs/help-square-rounded.svg" alt="ReadMe" class="image" style="width:100%">
                     <div class="middle">
                         <a href="/readme/" class="btn btn-primary" target="_blank">ReadMe</a>
                     </div>
@@ -94,7 +94,7 @@ <h3 style="color:white">Internal Links</h3>
                     </div>
                 </div>
                 <div class="card bg-dark">
-                    <img src="assets/imgs/lock.png" alt="Auth" class="image" style="width:100%">
+                    <img src="assets/imgs/users-group.svg" alt="Auth" class="image" style="width:100%">
                     <div class="middle">
                         <a href="/auth/" class="btn btn-primary" target="_blank">Local Account Management</a>
                     </div>                
@@ -106,7 +106,7 @@ <h3 style="color:white">Internal Links</h3>
                     </div>                
                 </div>
                 <div class="card bg-dark">    
-                    <img src="assets/imgs/api.png" alt="API" class="image" style="width:100%">
+                    <img src="assets/imgs/api.svg" alt="API" class="image" style="width:100%">
                     <div class="middle">
                         <a href="/mapi/" class="btn btn-primary" target="_blank">API</a>
                     </div>             

From 48b5a514bea1cb6df32e7846a7591a4d92930b52 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 2 Jan 2024 16:24:47 -0700
Subject: [PATCH 17/88] landingpage work in progress (idaholab/Malcolm#252)

---
 nginx/landingpage/index.html | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index b9fd9c6e4..202d3b35f 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -68,13 +68,13 @@ <h3 style="color:white">Internal Links</h3>
                     </div>
                 </div>
                 <div class="card bg-dark">
-                    <img src="assets/imgs/upload.svg" alt="Upload" class="image" style="width:100%">
+                    <img src="assets/imgs/upload.svg" alt="Upload" class="image" style="width:100%;filter: invert(1)">
                     <div class="middle">
                         <a href="/upload/" class="btn btn-primary" target="_blank">Upload</a>
                     </div>
                 </div>
                 <div class="card bg-dark">
-                    <img src="assets/imgs/help-square-rounded.svg" alt="ReadMe" class="image" style="width:100%">
+                    <img src="assets/imgs/help-square-rounded.svg" alt="ReadMe" class="image" style="width:100%;filter: invert(1)">
                     <div class="middle">
                         <a href="/readme/" class="btn btn-primary" target="_blank">ReadMe</a>
                     </div>
@@ -94,7 +94,7 @@ <h3 style="color:white">Internal Links</h3>
                     </div>
                 </div>
                 <div class="card bg-dark">
-                    <img src="assets/imgs/users-group.svg" alt="Auth" class="image" style="width:100%">
+                    <img src="assets/imgs/users-group.svg" alt="Auth" class="image" style="width:100%;filter: invert(1)">
                     <div class="middle">
                         <a href="/auth/" class="btn btn-primary" target="_blank">Local Account Management</a>
                     </div>                
@@ -106,7 +106,7 @@ <h3 style="color:white">Internal Links</h3>
                     </div>                
                 </div>
                 <div class="card bg-dark">    
-                    <img src="assets/imgs/api.svg" alt="API" class="image" style="width:100%">
+                    <img src="assets/imgs/api.svg" alt="API" class="image" style="width:100%;filter: invert(1)">
                     <div class="middle">
                         <a href="/mapi/" class="btn btn-primary" target="_blank">API</a>
                     </div>             

From b6738188b9614dc37d9d3d690f5bdce19867f11d Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 3 Jan 2024 10:38:27 -0700
Subject: [PATCH 18/88] bump fluent-bit version

---
 scripts/third-party-logs/fluent-bit-setup.ps1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/third-party-logs/fluent-bit-setup.ps1 b/scripts/third-party-logs/fluent-bit-setup.ps1
index 8a35575dd..ead2cc542 100644
--- a/scripts/third-party-logs/fluent-bit-setup.ps1
+++ b/scripts/third-party-logs/fluent-bit-setup.ps1
@@ -9,7 +9,7 @@
 ###############################################################################
 
 $fluent_bit_version = '2.2'
-$fluent_bit_full_version = '2.2.0'
+$fluent_bit_full_version = '2.2.1'
 
 ###############################################################################
 # select an item from a menu provided in an array

From 355601dec75d4664444af09bd64c7488f5ba7580 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 3 Jan 2024 14:08:05 -0700
Subject: [PATCH 19/88] idaholab/Malcolm#321, more consistently differentiate
 between uploaded and live-captured traffic

---
 filebeat/filebeat.yml                         |  4 ++--
 .../pipelines/suricata/01_input_suricata.conf | 21 +++++++++++++++--
 logstash/pipelines/zeek/01_input_zeek.conf    | 23 ++++++++++++++++---
 .../sensor_ctl/filebeat/filebeat.yml          |  4 ++--
 shared/bin/pcap_processor.py                  |  9 +++++++-
 shared/bin/pcap_utils.py                      |  7 +++---
 shared/bin/pcap_watcher.py                    |  4 ++++
 7 files changed, 59 insertions(+), 13 deletions(-)

diff --git a/filebeat/filebeat.yml b/filebeat/filebeat.yml
index f4429083a..ba5590419 100644
--- a/filebeat/filebeat.yml
+++ b/filebeat/filebeat.yml
@@ -32,7 +32,7 @@ filebeat.inputs:
     - ${FILEBEAT_ZEEK_LOG_LIVE_PATH:/zeek/live}/logs/current/*.log
   symlinks: true
   fields_under_root: true
-  tags: ["_filebeat_zeek_live"]
+  tags: ["_filebeat_zeek_malcolm_live"]
   compression_level: 0
   exclude_lines: ['^\s*#']
   scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s}
@@ -91,7 +91,7 @@ filebeat.inputs:
     - ${FILEBEAT_SURICATA_LOG_PATH:/suricata}/live/eve.json
   symlinks: true
   fields_under_root: true
-  tags: ["_filebeat_suricata_live"]
+  tags: ["_filebeat_suricata_malcolm_live"]
   compression_level: 0
   scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s}
   clean_inactive: ${FILEBEAT_CLEAN_INACTIVE:180m}
diff --git a/logstash/pipelines/suricata/01_input_suricata.conf b/logstash/pipelines/suricata/01_input_suricata.conf
index f280362d9..b04ccc79d 100644
--- a/logstash/pipelines/suricata/01_input_suricata.conf
+++ b/logstash/pipelines/suricata/01_input_suricata.conf
@@ -5,11 +5,28 @@ input {
 }
 
 filter {
+
   # this pipeline only needs to see suricata logs forwarded from filebeat
-  if ("_filebeat_suricata" in [tags]) or ("_filebeat_suricata_live" in [tags]) {
+  if ("_filebeat_suricata" in [tags]) or
+     ("_filebeat_suricata_live" in [tags]) or
+     ("_filebeat_suricata_hedgehog_live" in [tags]) or
+     ("_filebeat_suricata_malcolm_live" in [tags]) {
+
+    if ("_filebeat_suricata_malcolm_live" in [tags]) {
+      # the shipper name comes from PCAP_NODE_NAME in filebeat.yml, but for consistency
+      #   with Arkime live capture append -live to the name for traffic captured live
+      if ([beat][name]) { mutate { id => "mutate_replace_beat_name_suricata_live"
+                                   replace => {"[beat][name]" => "%{[beat][name]}-live" } } }
+      if ([host][name]) { mutate { id => "mutate_replace_host_name_suricata_live"
+                                   replace => {"[host][name]" => "%{[host][name]}-live" } } }
+    }
+
     mutate { id => "mutate_filebeat_suricata_forward_tag_remove"
              remove_tag => [ "_filebeat_suricata",
-                             "_filebeat_suricata_live" ] }
+                             "_filebeat_suricata_live",
+                             "_filebeat_suricata_hedgehog_live",
+                             "_filebeat_suricata_malcolm_live" ] }
+
   } else {
     drop { id => "drop_not_filebeat_suricata" }
   }
diff --git a/logstash/pipelines/zeek/01_input_zeek.conf b/logstash/pipelines/zeek/01_input_zeek.conf
index b09fbcff6..ddf4c13dd 100644
--- a/logstash/pipelines/zeek/01_input_zeek.conf
+++ b/logstash/pipelines/zeek/01_input_zeek.conf
@@ -5,11 +5,28 @@ input {
 }
 
 filter {
-  # this pipeline only needs to see Zeek logs forwarded from filebeat
-  if ("_filebeat_zeek" in [tags]) or ("_filebeat_zeek_live" in [tags]) {
+
+  # this pipeline only needs to see zeek logs forwarded from filebeat
+  if ("_filebeat_zeek" in [tags]) or
+     ("_filebeat_zeek_live" in [tags]) or
+     ("_filebeat_zeek_hedgehog_live" in [tags]) or
+     ("_filebeat_zeek_malcolm_live" in [tags]) {
+
+    if ("_filebeat_zeek_malcolm_live" in [tags]) {
+      # the shipper name comes from PCAP_NODE_NAME in filebeat.yml, but for consistency
+      #   with Arkime live capture append -live to the name for traffic captured live
+      if ([beat][name]) { mutate { id => "mutate_replace_beat_name_zeek_live"
+                                   replace => {"[beat][name]" => "%{[beat][name]}-live" } } }
+      if ([host][name]) { mutate { id => "mutate_replace_host_name_zeek_live"
+                                   replace => {"[host][name]" => "%{[host][name]}-live" } } }
+    }
+
     mutate { id => "mutate_filebeat_zeek_forward_tag_remove"
              remove_tag => [ "_filebeat_zeek",
-                             "_filebeat_zeek_live" ] }
+                             "_filebeat_zeek_live",
+                             "_filebeat_zeek_hedgehog_live",
+                             "_filebeat_zeek_malcolm_live" ] }
+
   } else {
     drop { id => "drop_not_filebeat_zeek" }
   }
diff --git a/sensor-iso/interface/sensor_ctl/filebeat/filebeat.yml b/sensor-iso/interface/sensor_ctl/filebeat/filebeat.yml
index 0816bb59f..7d122e151 100644
--- a/sensor-iso/interface/sensor_ctl/filebeat/filebeat.yml
+++ b/sensor-iso/interface/sensor_ctl/filebeat/filebeat.yml
@@ -9,7 +9,7 @@ filebeat.inputs:
     - ${BEAT_STATIC_LOG_PATTERN:/home/sensor/bro_logs/static/*.log}
   symlinks: true
   fields_under_root: true
-  tags: ["_filebeat_zeek_live"]
+  tags: ["_filebeat_zeek_hedgehog_live"]
   compression_level: 0
   exclude_lines: ['^\s*#']
   scan_frequency: ${BEAT_SCAN_FREQUENCY:10s}
@@ -27,7 +27,7 @@ filebeat.inputs:
     - ${BEAT_SURICATA_LOG_PATTERN:/home/sensor/bro_logs/suricata/eve*.json}
   symlinks: true
   fields_under_root: true
-  tags: ["_filebeat_suricata_live"]
+  tags: ["_filebeat_suricata_hedgehog_live"]
   compression_level: 0
   scan_frequency: ${BEAT_SCAN_FREQUENCY:10s}
   clean_inactive: ${BEAT_CLEAN_INACTIVE:180m}
diff --git a/shared/bin/pcap_processor.py b/shared/bin/pcap_processor.py
index 8f54857c9..adf07fcb3 100755
--- a/shared/bin/pcap_processor.py
+++ b/shared/bin/pcap_processor.py
@@ -23,6 +23,7 @@
 import zmq
 
 from pcap_utils import (
+    FILE_INFO_DICT_LIVE,
     FILE_INFO_DICT_NAME,
     FILE_INFO_DICT_NODE,
     FILE_INFO_DICT_SIZE,
@@ -165,13 +166,19 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs):
                         )
                         logger.info(f"{scriptName}[{scanWorkerId}]:\t🔎\t{fileInfo}")
 
+                        # if this is a "live" rotated PCAP captured by netsniff-ng or tcpdump,
+                        #   append -live to the node name used (which originates from PCAP_NODE_NAME)
+                        tmpNodeName = fileInfo[FILE_INFO_DICT_NODE] if (FILE_INFO_DICT_NODE in fileInfo) else nodeName
+                        if (FILE_INFO_DICT_LIVE in fileInfo) and fileInfo[FILE_INFO_DICT_LIVE]:
+                            tmpNodeName = tmpNodeName + '-live'
+
                         # put together arkime execution command
                         cmd = [
                             arkimeBin,
                             '--quiet',
                             '--insecure',
                             '--node',
-                            fileInfo[FILE_INFO_DICT_NODE] if (FILE_INFO_DICT_NODE in fileInfo) else nodeName,
+                            tmpNodeName,
                             '-o',
                             f'ecsEventProvider={arkimeProvider}',
                             '-o',
diff --git a/shared/bin/pcap_utils.py b/shared/bin/pcap_utils.py
index 39fd5d313..baee87d3f 100644
--- a/shared/bin/pcap_utils.py
+++ b/shared/bin/pcap_utils.py
@@ -16,12 +16,13 @@
 
 PCAP_MIME_TYPES = ['application/vnd.tcpdump.pcap', 'application/x-pcapng']
 
+FILE_INFO_DICT_LIVE = "live"
 FILE_INFO_DICT_NAME = "name"
-FILE_INFO_DICT_TAGS = "tags"
+FILE_INFO_DICT_NODE = "node"
 FILE_INFO_DICT_SIZE = "size"
-FILE_INFO_FILE_TYPE = "type"
+FILE_INFO_DICT_TAGS = "tags"
 FILE_INFO_FILE_MIME = "mime"
-FILE_INFO_DICT_NODE = "node"
+FILE_INFO_FILE_TYPE = "type"
 
 
 ###################################################################################################
diff --git a/shared/bin/pcap_watcher.py b/shared/bin/pcap_watcher.py
index 8d70f322e..25816e13d 100755
--- a/shared/bin/pcap_watcher.py
+++ b/shared/bin/pcap_watcher.py
@@ -23,6 +23,7 @@
 import zmq
 
 from pcap_utils import (
+    FILE_INFO_DICT_LIVE,
     FILE_INFO_DICT_NAME,
     FILE_INFO_DICT_NODE,
     FILE_INFO_DICT_SIZE,
@@ -232,6 +233,9 @@ def processFile(self, pathname):
                             FILE_INFO_FILE_MIME: fileMime,
                             FILE_INFO_FILE_TYPE: fileType,
                             FILE_INFO_DICT_NODE: args.nodeName,
+                            FILE_INFO_DICT_LIVE: any(
+                                os.path.basename(pathname).startswith(prefix) for prefix in ('mnetsniff', 'mtcpdump')
+                            ),
                             FILE_INFO_DICT_TAGS: tags_from_filename(relativePath),
                         }
                         self.topic_socket.send_string(json.dumps(fileInfo))

From ea28847c2e7fa05fe334b951423121974f30fb00 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 08:25:11 -0700
Subject: [PATCH 20/88] Fix idaholab/Malcolm#323, suricata-update was failing
 because it needed to be told to use the suricata binary without setcap
 privileges assigned to it

---
 suricata/scripts/suricata-update-rules.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/suricata/scripts/suricata-update-rules.sh b/suricata/scripts/suricata-update-rules.sh
index 9f4d31aa0..4ea64161c 100644
--- a/suricata/scripts/suricata-update-rules.sh
+++ b/suricata/scripts/suricata-update-rules.sh
@@ -29,6 +29,7 @@ if type suricata-update >/dev/null 2>&1; then
 
   suricata-update update-sources \
     $DEBUG_FLAG \
+    --suricata /usr/bin/suricata-offline \
     --data-dir "${SURICATA_MANAGED_DIR:-/var/lib/suricata}" \
     --config "${SURICATA_UPDATE_CONFIG_FILE:-/etc/suricata/update.yaml}" \
     --suricata-conf "${SURICATA_CONFIG_FILE:-/etc/suricata/suricata.yaml}" 2>&1
@@ -36,6 +37,7 @@ if type suricata-update >/dev/null 2>&1; then
   suricata-update update \
     $DEBUG_FLAG \
     $ETOPEN_FLAG \
+    --suricata /usr/bin/suricata-offline \
     --data-dir "${SURICATA_MANAGED_DIR:-/var/lib/suricata}" \
     --config "${SURICATA_UPDATE_CONFIG_FILE:-/etc/suricata/update.yaml}" \
     --suricata-conf "${SURICATA_CONFIG_FILE:-/etc/suricata/suricata.yaml}" \

From 914be26944896345fcc3b63e189ee9534317d540 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 11:15:27 -0700
Subject: [PATCH 21/88] landingpage rework (idaholab/Malcolm#252)

---
 Dockerfiles/nginx.Dockerfile                  |    41 +-
 .../landingpage/assets/css/bootstrap.min.css  |     7 -
 .../landingpage/assets/{imgs => img}/CISA.svg |     0
 .../assets/js/bootstrap.bundle.min.js         |     7 -
 nginx/landingpage/css/bootstrap-icons.css     |  1390 ++
 nginx/landingpage/css/google-fonts.css        |    36 +
 nginx/landingpage/css/styles.css              | 10919 ++++++++++++++++
 nginx/landingpage/index.html                  |   229 +-
 nginx/landingpage/js/bootstrap.bundle.min.js  |     7 +
 nginx/landingpage/js/scripts.js               |     7 +
 10 files changed, 12488 insertions(+), 155 deletions(-)
 delete mode 100644 nginx/landingpage/assets/css/bootstrap.min.css
 rename nginx/landingpage/assets/{imgs => img}/CISA.svg (100%)
 delete mode 100644 nginx/landingpage/assets/js/bootstrap.bundle.min.js
 create mode 100644 nginx/landingpage/css/bootstrap-icons.css
 create mode 100644 nginx/landingpage/css/google-fonts.css
 create mode 100644 nginx/landingpage/css/styles.css
 create mode 100644 nginx/landingpage/js/bootstrap.bundle.min.js
 create mode 100644 nginx/landingpage/js/scripts.js

diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index 64df47254..115168721 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -96,20 +96,24 @@ ADD https://codeload.github.com/mmguero-dev/nginx-auth-ldap/tar.gz/$NGINX_AUTH_L
 ADD https://codeload.github.com/yaoweibin/ngx_http_substitutions_filter_module/tar.gz/$NGINX_HTTP_SUB_FILTER_BRANCH /ngx_http_substitutions_filter_module-master.tar.gz
 ADD http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz /nginx.tar.gz
 
-# component icons from original sources
-ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/assets/imgs/
-ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/assets/imgs/
-ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/assets/imgs/
-ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/assets/imgs/
-ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/assets/imgs/
-ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/assets/imgs/
-ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/assets/imgs/
-ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/upload.svg /usr/share/nginx/html/assets/imgs/
-ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/users-group.svg /usr/share/nginx/html/assets/imgs/
-ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/help-square-rounded.svg /usr/share/nginx/html/assets/imgs/
-ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/api.svg /usr/share/nginx/html/assets/imgs/
+# component icons from original sources and stuff for offline landing page
+ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/assets/img/
+ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/assets/img/
+ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/assets/img/
+ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/assets/img/
+ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientBlack.svg /usr/share/nginx/html/assets/img/
+ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite.svg /usr/share/nginx/html/assets/img/
+ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/assets/img/
+ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/assets/img/
+ADD https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI9w2_Gwfo.ttf /usr/share/nginx/html/css/
+ADD https://fonts.gstatic.com/s/lato/v24/S6u8w4BMUTPHjxsAXC-v.ttf /usr/share/nginx/html/css/
+ADD https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf /usr/share/nginx/html/css/
+ADD https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh7USSwiPHA.ttf /usr/share/nginx/html/css/
+ADD https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wWw.ttf /usr/share/nginx/html/css/
+ADD https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh6UVSwiPHA.ttf /usr/share/nginx/html/css/
+ADD 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff2?856008caa5eb66df68595e734e59580d' /usr/share/nginx/html/css/bootstrap-icons.woff2
+ADD 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff?856008caa5eb66df68595e734e59580d' /usr/share/nginx/html/css/bootstrap-icons.woff
 
-ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/
 
 RUN set -x ; \
     CONFIG="\
@@ -229,12 +233,7 @@ RUN set -x ; \
   apk del .gettext ; \
   mv /tmp/envsubst /usr/local/bin/ ; \
   rm -rf /usr/src/* /var/tmp/* /var/cache/apk/* /nginx.tar.gz /nginx-auth-ldap.tar.gz /ngx_http_substitutions_filter_module-master.tar.gz; \
-  touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf; \
-  cd /tmp; \
-    unzip ./GitHub-Mark.zip; \
-    mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/html/assets/imgs/; \
-    rm -rf ./GitHub-Mark.zip ./GitHub-Mark; \
-  chmod 644 /usr/share/nginx/html/assets/imgs/*.*;
+  touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf
 
 COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/
@@ -246,8 +245,8 @@ COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 ADD nginx/scripts /usr/local/bin/
 ADD nginx/*.conf /etc/nginx/
 ADD nginx/supervisord.conf /etc/
-ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico
-
+ADD docs/images/icon/favicon.ico /usr/share/nginx/html/assets/favicon.ico
+ADD docs/images/logo/Malcolm_background.png /usr/share/nginx/html/assets/img/bg-masthead.png
 
 VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"]
 
diff --git a/nginx/landingpage/assets/css/bootstrap.min.css b/nginx/landingpage/assets/css/bootstrap.min.css
deleted file mode 100644
index edfbbb03b..000000000
--- a/nginx/landingpage/assets/css/bootstrap.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@charset "UTF-8";/*!
- * Bootstrap v5.0.2 (https://getbootstrap.com/)
- * Copyright 2011-2021 The Bootstrap Authors
- * Copyright 2011-2021 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1050;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
-/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/nginx/landingpage/assets/imgs/CISA.svg b/nginx/landingpage/assets/img/CISA.svg
similarity index 100%
rename from nginx/landingpage/assets/imgs/CISA.svg
rename to nginx/landingpage/assets/img/CISA.svg
diff --git a/nginx/landingpage/assets/js/bootstrap.bundle.min.js b/nginx/landingpage/assets/js/bootstrap.bundle.min.js
deleted file mode 100644
index 68acb7a31..000000000
--- a/nginx/landingpage/assets/js/bootstrap.bundle.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
-  * Bootstrap v5.0.2 (https://getbootstrap.com/)
-  * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
-  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-  */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]}},e=t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},i=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i="#"+i.split("#")[1]),e=i&&"#"!==i?i.trim():null}return e},n=t=>{const e=i(t);return e&&document.querySelector(e)?e:null},s=t=>{const e=i(t);return e?document.querySelector(e):null},o=t=>{t.dispatchEvent(new Event("transitionend"))},r=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),a=e=>r(e)?e.jquery?e[0]:e:"string"==typeof e&&e.length>0?t.findOne(e):null,l=(t,e,i)=>{Object.keys(i).forEach(n=>{const s=i[n],o=e[n],a=o&&r(o)?"element":null==(l=o)?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)})},c=t=>!(!r(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),h=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),d=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?d(t.parentNode):null},u=()=>{},f=t=>t.offsetHeight,p=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},m=[],g=()=>"rtl"===document.documentElement.dir,_=t=>{var e;e=()=>{const e=p();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",()=>{m.forEach(t=>t())}),m.push(e)):e()},b=t=>{"function"==typeof t&&t()},v=(t,e,i=!0)=>{if(!i)return void b(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const r=({target:i})=>{i===e&&(s=!0,e.removeEventListener("transitionend",r),b(t))};e.addEventListener("transitionend",r),setTimeout(()=>{s||o(e)},n)},y=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},w=/[^.]*(?=\..*)\.|.*/,E=/\..*/,A=/::\d+$/,T={};let O=1;const C={mouseenter:"mouseover",mouseleave:"mouseout"},k=/^(mouseenter|mouseleave)/i,L=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&`${e}::${O++}`||t.uidEvent||O++}function D(t){const e=x(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function S(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;s<o;s++){const o=t[n[s]];if(o.originalHandler===e&&o.delegationSelector===i)return o}return null}function I(t,e,i){const n="string"==typeof e,s=n?i:e;let o=M(t);return L.has(o)||(o=t),[n,s,o]}function N(t,e,i,n,s){if("string"!=typeof e||!t)return;if(i||(i=n,n=null),k.test(e)){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=I(e,i,n),l=D(t),c=l[a]||(l[a]={}),h=S(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=x(r,e.replace(w,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function j(t,e,i,n,s){const o=S(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function M(t){return t=t.replace(E,""),C[t]||t}const P={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=I(e,i,n),a=r!==e,l=D(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void j(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach(i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach(o=>{if(o.includes(n)){const n=s[o];j(t,e,i,n.originalHandler,n.delegationSelector)}})}(t,l,i,e.slice(1))});const h=l[r]||{};Object.keys(h).forEach(i=>{const n=i.replace(A,"");if(!a||e.includes(n)){const e=h[i];j(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=p(),s=M(e),o=e!==s,r=L.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach(t=>{Object.defineProperty(d,t,{get:()=>i[t]})}),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},H=new Map;var R={set(t,e,i){H.has(t)||H.set(t,new Map);const n=H.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>H.has(t)&&H.get(t).get(e)||null,remove(t,e){if(!H.has(t))return;const i=H.get(t);i.delete(e),0===i.size&&H.delete(t)}};class B{constructor(t){(t=a(t))&&(this._element=t,R.set(this._element,this.constructor.DATA_KEY,this))}dispose(){R.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(t=>{this[t]=null})}_queueCallback(t,e,i=!0){v(t,e,i)}static getInstance(t){return R.get(t,this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.0.2"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}class W extends B{static get NAME(){return"alert"}close(t){const e=t?this._getRootElement(t):this._element,i=this._triggerCloseEvent(e);null===i||i.defaultPrevented||this._removeElement(e)}_getRootElement(t){return s(t)||t.closest(".alert")}_triggerCloseEvent(t){return P.trigger(t,"close.bs.alert")}_removeElement(t){t.classList.remove("show");const e=t.classList.contains("fade");this._queueCallback(()=>this._destroyElement(t),t,e)}_destroyElement(t){t.remove(),P.trigger(t,"closed.bs.alert")}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);"close"===t&&e[t](this)}))}static handleDismiss(t){return function(e){e&&e.preventDefault(),t.close(this)}}}P.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',W.handleDismiss(new W)),_(W);class q extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function z(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function $(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}P.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');q.getOrCreateInstance(e).toggle()}),_(q);const U={setDataAttribute(t,e,i){t.setAttribute("data-bs-"+$(e),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+$(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=z(t.dataset[i])}),e},getDataAttribute:(t,e)=>z(t.getAttribute("data-bs-"+$(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},V={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",X="prev",Y="left",Q="right",G={ArrowLeft:Q,ArrowRight:Y};class Z extends B{constructor(e,i){super(e),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(i),this._indicatorsElement=t.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return F}static get NAME(){return"carousel"}next(){this._slide(K)}nextWhenVisible(){!document.hidden&&c(this._element)&&this.next()}prev(){this._slide(X)}pause(e){e||(this._isPaused=!0),t.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(o(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(e){this._activeElement=t.findOne(".active.carousel-item",this._element);const i=this._getItemIndex(this._activeElement);if(e>this._items.length-1||e<0)return;if(this._isSliding)return void P.one(this._element,"slid.bs.carousel",()=>this.to(e));if(i===e)return this.pause(),void this.cycle();const n=e>i?K:X;this._slide(n,this._items[e])}_getConfig(t){return t={...F,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("carousel",t,V),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?Q:Y)}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),P.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const e=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};t.find(".carousel-item img",this._element).forEach(t=>{P.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(P.on(this._element,"pointerdown.bs.carousel",t=>e(t)),P.on(this._element,"pointerup.bs.carousel",t=>n(t)),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.carousel",t=>e(t)),P.on(this._element,"touchmove.bs.carousel",t=>i(t)),P.on(this._element,"touchend.bs.carousel",t=>n(t)))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=G[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(e){return this._items=e&&e.parentNode?t.find(".carousel-item",e.parentNode):[],this._items.indexOf(e)}_getItemByOrder(t,e){const i=t===K;return y(this._items,e,i,this._config.wrap)}_triggerSlideEvent(e,i){const n=this._getItemIndex(e),s=this._getItemIndex(t.findOne(".active.carousel-item",this._element));return P.trigger(this._element,"slide.bs.carousel",{relatedTarget:e,direction:i,from:s,to:n})}_setActiveIndicatorElement(e){if(this._indicatorsElement){const i=t.findOne(".active",this._indicatorsElement);i.classList.remove("active"),i.removeAttribute("aria-current");const n=t.find("[data-bs-target]",this._indicatorsElement);for(let t=0;t<n.length;t++)if(Number.parseInt(n[t].getAttribute("data-bs-slide-to"),10)===this._getItemIndex(e)){n[t].classList.add("active"),n[t].setAttribute("aria-current","true");break}}}_updateInterval(){const e=this._activeElement||t.findOne(".active.carousel-item",this._element);if(!e)return;const i=Number.parseInt(e.getAttribute("data-bs-interval"),10);i?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=i):this._config.interval=this._config.defaultInterval||this._config.interval}_slide(e,i){const n=this._directionToOrder(e),s=t.findOne(".active.carousel-item",this._element),o=this._getItemIndex(s),r=i||this._getItemByOrder(n,s),a=this._getItemIndex(r),l=Boolean(this._interval),c=n===K,h=c?"carousel-item-start":"carousel-item-end",d=c?"carousel-item-next":"carousel-item-prev",u=this._orderToDirection(n);if(r&&r.classList.contains("active"))return void(this._isSliding=!1);if(this._isSliding)return;if(this._triggerSlideEvent(r,u).defaultPrevented)return;if(!s||!r)return;this._isSliding=!0,l&&this.pause(),this._setActiveIndicatorElement(r),this._activeElement=r;const p=()=>{P.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:u,from:o,to:a})};if(this._element.classList.contains("slide")){r.classList.add(d),f(r),s.classList.add(h),r.classList.add(h);const t=()=>{r.classList.remove(h,d),r.classList.add("active"),s.classList.remove("active",d,h),this._isSliding=!1,setTimeout(p,0)};this._queueCallback(t,s,!0)}else s.classList.remove("active"),r.classList.add("active"),this._isSliding=!1,p();l&&this.cycle()}_directionToOrder(t){return[Q,Y].includes(t)?g()?t===Y?X:K:t===Y?K:X:t}_orderToDirection(t){return[K,X].includes(t)?g()?t===X?Y:Q:t===X?Q:Y:t}static carouselInterface(t,e){const i=Z.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){Z.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=s(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},n=this.getAttribute("data-bs-slide-to");n&&(i.interval=!1),Z.carouselInterface(e,i),n&&Z.getInstance(e).to(n),t.preventDefault()}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",Z.dataApiClickHandler),P.on(window,"load.bs.carousel.data-api",()=>{const e=t.find('[data-bs-ride="carousel"]');for(let t=0,i=e.length;t<i;t++)Z.carouselInterface(e[t],Z.getInstance(e[t]))}),_(Z);const J={toggle:!0,parent:""},tt={toggle:"boolean",parent:"(string|element)"};class et extends B{constructor(e,i){super(e),this._isTransitioning=!1,this._config=this._getConfig(i),this._triggerArray=t.find(`[data-bs-toggle="collapse"][href="#${this._element.id}"],[data-bs-toggle="collapse"][data-bs-target="#${this._element.id}"]`);const s=t.find('[data-bs-toggle="collapse"]');for(let e=0,i=s.length;e<i;e++){const i=s[e],o=n(i),r=t.find(o).filter(t=>t===this._element);null!==o&&r.length&&(this._selector=o,this._triggerArray.push(i))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return J}static get NAME(){return"collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let e,i;this._parent&&(e=t.find(".show, .collapsing",this._parent).filter(t=>"string"==typeof this._config.parent?t.getAttribute("data-bs-parent")===this._config.parent:t.classList.contains("collapse")),0===e.length&&(e=null));const n=t.findOne(this._selector);if(e){const t=e.find(t=>n!==t);if(i=t?et.getInstance(t):null,i&&i._isTransitioning)return}if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e&&e.forEach(t=>{n!==t&&et.collapseInterface(t,"hide"),i||R.set(t,"bs.collapse",null)});const s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach(t=>{t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const o="scroll"+(s[0].toUpperCase()+s.slice(1));this._queueCallback(()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[s]="",this.setTransitioning(!1),P.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[s]=this._element[o]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",f(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;if(e>0)for(let t=0;t<e;t++){const e=this._triggerArray[t],i=s(e);i&&!i.classList.contains("show")&&(e.classList.add("collapsed"),e.setAttribute("aria-expanded",!1))}this.setTransitioning(!0),this._element.style[t]="",this._queueCallback(()=>{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),P.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}setTransitioning(t){this._isTransitioning=t}_getConfig(t){return(t={...J,...t}).toggle=Boolean(t.toggle),l("collapse",t,tt),t}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:e}=this._config;e=a(e);const i=`[data-bs-toggle="collapse"][data-bs-parent="${e}"]`;return t.find(i,e).forEach(t=>{const e=s(t);this._addAriaAndCollapsedClass(e,[t])}),e}_addAriaAndCollapsedClass(t,e){if(!t||!e.length)return;const i=t.classList.contains("show");e.forEach(t=>{i?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",i)})}static collapseInterface(t,e){let i=et.getInstance(t);const n={...J,...U.getDataAttributes(t),..."object"==typeof e&&e?e:{}};if(!i&&n.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(n.toggle=!1),i||(i=new et(t,n)),"string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){et.collapseInterface(this,t)}))}}P.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();const i=U.getDataAttributes(this),s=n(this);t.find(s).forEach(t=>{const e=et.getInstance(t);let n;e?(null===e._parent&&"string"==typeof i.parent&&(e._config.parent=i.parent,e._parent=e._getParent()),n="toggle"):n=i,et.collapseInterface(t,n)})})),_(et);var it="top",nt="bottom",st="right",ot="left",rt=[it,nt,st,ot],at=rt.reduce((function(t,e){return t.concat([e+"-start",e+"-end"])}),[]),lt=[].concat(rt,["auto"]).reduce((function(t,e){return t.concat([e,e+"-start",e+"-end"])}),[]),ct=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function ht(t){return t?(t.nodeName||"").toLowerCase():null}function dt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function ut(t){return t instanceof dt(t).Element||t instanceof Element}function ft(t){return t instanceof dt(t).HTMLElement||t instanceof HTMLElement}function pt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof dt(t).ShadowRoot||t instanceof ShadowRoot)}var mt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];ft(s)&&ht(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});ft(n)&&ht(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function gt(t){return t.split("-")[0]}function _t(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function bt(t){var e=_t(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function vt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&pt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function yt(t){return dt(t).getComputedStyle(t)}function wt(t){return["table","td","th"].indexOf(ht(t))>=0}function Et(t){return((ut(t)?t.ownerDocument:t.document)||window.document).documentElement}function At(t){return"html"===ht(t)?t:t.assignedSlot||t.parentNode||(pt(t)?t.host:null)||Et(t)}function Tt(t){return ft(t)&&"fixed"!==yt(t).position?t.offsetParent:null}function Ot(t){for(var e=dt(t),i=Tt(t);i&&wt(i)&&"static"===yt(i).position;)i=Tt(i);return i&&("html"===ht(i)||"body"===ht(i)&&"static"===yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&ft(t)&&"fixed"===yt(t).position)return null;for(var i=At(t);ft(i)&&["html","body"].indexOf(ht(i))<0;){var n=yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ct(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var kt=Math.max,Lt=Math.min,xt=Math.round;function Dt(t,e,i){return kt(t,Lt(e,i))}function St(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function It(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var Nt={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=gt(i.placement),l=Ct(a),c=[ot,st].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return St("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:It(t,rt))}(s.padding,i),d=bt(o),u="y"===l?it:ot,f="y"===l?nt:st,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=Ot(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=Dt(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&vt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},jt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mt(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.offsets,r=t.position,a=t.gpuAcceleration,l=t.adaptive,c=t.roundOffsets,h=!0===c?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:xt(xt(e*n)/n)||0,y:xt(xt(i*n)/n)||0}}(o):"function"==typeof c?c(o):o,d=h.x,u=void 0===d?0:d,f=h.y,p=void 0===f?0:f,m=o.hasOwnProperty("x"),g=o.hasOwnProperty("y"),_=ot,b=it,v=window;if(l){var y=Ot(i),w="clientHeight",E="clientWidth";y===dt(i)&&"static"!==yt(y=Et(i)).position&&(w="scrollHeight",E="scrollWidth"),y=y,s===it&&(b=nt,p-=y[w]-n.height,p*=a?1:-1),s===ot&&(_=st,u-=y[E]-n.width,u*=a?1:-1)}var A,T=Object.assign({position:r},l&&jt);return a?Object.assign({},T,((A={})[b]=g?"0":"",A[_]=m?"0":"",A.transform=(v.devicePixelRatio||1)<2?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",A)):Object.assign({},T,((e={})[b]=g?p+"px":"",e[_]=m?u+"px":"",e.transform="",e))}var Pt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:gt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Mt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Mt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},Ht={passive:!0},Rt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=dt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,Ht)})),a&&l.addEventListener("resize",i.update,Ht),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,Ht)})),a&&l.removeEventListener("resize",i.update,Ht)}},data:{}},Bt={left:"right",right:"left",bottom:"top",top:"bottom"};function Wt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Bt[t]}))}var qt={start:"end",end:"start"};function zt(t){return t.replace(/start|end/g,(function(t){return qt[t]}))}function $t(t){var e=dt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ut(t){return _t(Et(t)).left+$t(t).scrollLeft}function Ft(t){var e=yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Vt(t,e){var i;void 0===e&&(e=[]);var n=function t(e){return["html","body","#document"].indexOf(ht(e))>=0?e.ownerDocument.body:ft(e)&&Ft(e)?e:t(At(e))}(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=dt(n),r=s?[o].concat(o.visualViewport||[],Ft(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Vt(At(r)))}function Kt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Xt(t,e){return"viewport"===e?Kt(function(t){var e=dt(t),i=Et(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+Ut(t),y:a}}(t)):ft(e)?function(t){var e=_t(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Kt(function(t){var e,i=Et(t),n=$t(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ut(t),l=-n.scrollTop;return"rtl"===yt(s||i).direction&&(a+=kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Et(t)))}function Yt(t){return t.split("-")[1]}function Qt(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?gt(s):null,r=s?Yt(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case it:e={x:a,y:i.y-n.height};break;case nt:e={x:a,y:i.y+i.height};break;case st:e={x:i.x+i.width,y:l};break;case ot:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ct(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case"start":e[c]=e[c]-(i[h]/2-n[h]/2);break;case"end":e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Gt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?"clippingParents":o,a=i.rootBoundary,l=void 0===a?"viewport":a,c=i.elementContext,h=void 0===c?"popper":c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=St("number"!=typeof p?p:It(p,rt)),g="popper"===h?"reference":"popper",_=t.elements.reference,b=t.rects.popper,v=t.elements[u?g:h],y=function(t,e,i){var n="clippingParents"===e?function(t){var e=Vt(At(t)),i=["absolute","fixed"].indexOf(yt(t).position)>=0&&ft(t)?Ot(t):t;return ut(i)?e.filter((function(t){return ut(t)&&vt(t,i)&&"body"!==ht(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Xt(t,i);return e.top=kt(n.top,e.top),e.right=Lt(n.right,e.right),e.bottom=Lt(n.bottom,e.bottom),e.left=kt(n.left,e.left),e}),Xt(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}(ut(v)?v:v.contextElement||Et(t.elements.popper),r,l),w=_t(_),E=Qt({reference:w,element:b,strategy:"absolute",placement:s}),A=Kt(Object.assign({},b,E)),T="popper"===h?A:w,O={top:y.top-T.top+m.top,bottom:T.bottom-y.bottom+m.bottom,left:y.left-T.left+m.left,right:T.right-y.right+m.right},C=t.modifiersData.offset;if("popper"===h&&C){var k=C[s];Object.keys(O).forEach((function(t){var e=[st,nt].indexOf(t)>=0?1:-1,i=[it,nt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function Zt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?lt:l,h=Yt(n),d=h?a?at:at.filter((function(t){return Yt(t)===h})):rt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=Gt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[gt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}var Jt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=gt(g),b=l||(_!==g&&p?function(t){if("auto"===gt(t))return[];var e=Wt(t);return[zt(t),e,zt(e)]}(g):[Wt(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat("auto"===gt(i)?Zt(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O<v.length;O++){var C=v[O],k=gt(C),L="start"===Yt(C),x=[it,nt].indexOf(k)>=0,D=x?"width":"height",S=Gt(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=x?L?st:ot:L?nt:it;y[D]>w[D]&&(I=Wt(I));var N=Wt(I),j=[];if(o&&j.push(S[k]<=0),a&&j.push(S[I]<=0,S[N]<=0),j.every((function(t){return t}))){T=C,A=!1;break}E.set(C,j)}if(A)for(var M=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},P=p?3:1;P>0&&"break"!==M(P);P--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function te(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ee(t){return[it,st,nt,ot].some((function(e){return t[e]>=0}))}var ie={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Gt(e,{elementContext:"reference"}),a=Gt(e,{altBoundary:!0}),l=te(r,n),c=te(a,s,o),h=ee(l),d=ee(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},ne={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=gt(t),s=[ot,it].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[ot,st].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},se={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Qt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},oe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=Gt(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=gt(e.placement),b=Yt(e.placement),v=!b,y=Ct(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?it:ot,L="y"===y?nt:st,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],I=E[y]-g[L],N=f?-T[x]/2:0,j="start"===b?A[x]:T[x],M="start"===b?-T[x]:-A[x],P=e.elements.arrow,H=f&&P?bt(P):{width:0,height:0},R=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},B=R[k],W=R[L],q=Dt(0,A[x],H[x]),z=v?A[x]/2-N-q-B-O:j-q-B-O,$=v?-A[x]/2+N+q+W+O:M+q+W+O,U=e.elements.arrow&&Ot(e.elements.arrow),F=U?"y"===y?U.clientTop||0:U.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-F,X=E[y]+$-V;if(o){var Y=Dt(f?Lt(S,K):S,D,f?kt(I,X):I);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?it:ot,G="x"===y?nt:st,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=Dt(f?Lt(J,K):J,Z,f?kt(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function re(t,e,i){void 0===i&&(i=!1);var n,s,o=Et(e),r=_t(t),a=ft(e),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!i)&&(("body"!==ht(e)||Ft(o))&&(l=(n=e)!==dt(n)&&ft(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:$t(n)),ft(e)?((c=_t(e)).x+=e.clientLeft,c.y+=e.clientTop):o&&(c.x=Ut(o))),{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}var ae={placement:"bottom",modifiers:[],strategy:"absolute"};function le(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function ce(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?ae:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},ae,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){d(),a.options=Object.assign({},o,a.options,i),a.scrollParents={reference:ut(t)?Vt(t):t.contextElement?Vt(t.contextElement):[],popper:Vt(e)};var s,r,c=function(t){var e=function(t){var e=new Map,i=new Set,n=[];return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||function t(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach((function(n){if(!i.has(n)){var s=e.get(n);s&&t(s)}})),n.push(s)}(t)})),n}(t);return ct.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((s=[].concat(n,a.options.modifiers),r=s.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(r).map((function(t){return r[t]}))));return a.orderedModifiers=c.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(le(e,i)){a.rects={reference:re(e,Ot(i),"fixed"===a.options.strategy),popper:bt(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!le(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var he=ce(),de=ce({defaultModifiers:[Rt,se,Pt,mt]}),ue=ce({defaultModifiers:[Rt,se,Pt,mt,ne,Jt,oe,Nt,ie]}),fe=Object.freeze({__proto__:null,popperGenerator:ce,detectOverflow:Gt,createPopperBase:he,createPopper:ue,createPopperLite:de,top:it,bottom:nt,right:st,left:ot,auto:"auto",basePlacements:rt,start:"start",end:"end",clippingParents:"clippingParents",viewport:"viewport",popper:"popper",reference:"reference",variationPlacements:at,placements:lt,beforeRead:"beforeRead",read:"read",afterRead:"afterRead",beforeMain:"beforeMain",main:"main",afterMain:"afterMain",beforeWrite:"beforeWrite",write:"write",afterWrite:"afterWrite",modifierPhases:ct,applyStyles:mt,arrow:Nt,computeStyles:Pt,eventListeners:Rt,flip:Jt,hide:ie,offset:ne,popperOffsets:se,preventOverflow:oe});const pe=new RegExp("ArrowUp|ArrowDown|Escape"),me=g()?"top-end":"top-start",ge=g()?"top-start":"top-end",_e=g()?"bottom-end":"bottom-start",be=g()?"bottom-start":"bottom-end",ve=g()?"left-start":"right-start",ye=g()?"right-start":"left-start",we={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},Ee={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class Ae extends B{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}static get Default(){return we}static get DefaultType(){return Ee}static get NAME(){return"dropdown"}toggle(){h(this._element)||(this._element.classList.contains("show")?this.hide():this.show())}show(){if(h(this._element)||this._menu.classList.contains("show"))return;const t=Ae.getParentFromElement(this._element),e={relatedTarget:this._element};if(!P.trigger(this._element,"show.bs.dropdown",e).defaultPrevented){if(this._inNavbar)U.setDataAttribute(this._menu,"popper","none");else{if(void 0===fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:r(this._config.reference)?e=a(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find(t=>"applyStyles"===t.name&&!1===t.enabled);this._popper=ue(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>P.on(t,"mouseover",u)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),P.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(h(this._element)||!this._menu.classList.contains("show"))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){P.on(this._element,"click.bs.dropdown",t=>{t.preventDefault(),this.toggle()})}_completeHide(t){P.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),P.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},l("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!r(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_getMenuElement(){return t.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ve;if(t.classList.contains("dropstart"))return ye;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ge:me:e?be:_e}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:e,target:i}){const n=t.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(c);n.length&&y(n,i,"ArrowDown"===e,!n.includes(i)).focus()}static dropdownInterface(t,e){const i=Ae.getOrCreateInstance(t,e);if("string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){Ae.dropdownInterface(this,t)}))}static clearMenus(e){if(e&&(2===e.button||"keyup"===e.type&&"Tab"!==e.key))return;const i=t.find('[data-bs-toggle="dropdown"]');for(let t=0,n=i.length;t<n;t++){const n=Ae.getInstance(i[t]);if(!n||!1===n._config.autoClose)continue;if(!n._element.classList.contains("show"))continue;const s={relatedTarget:n._element};if(e){const t=e.composedPath(),i=t.includes(n._menu);if(t.includes(n._element)||"inside"===n._config.autoClose&&!i||"outside"===n._config.autoClose&&i)continue;if(n._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;"click"===e.type&&(s.clickEvent=e)}n._completeHide(s)}}static getParentFromElement(t){return s(t)||t.parentNode}static dataApiKeydownHandler(e){if(/input|textarea/i.test(e.target.tagName)?"Space"===e.key||"Escape"!==e.key&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key||e.target.closest(".dropdown-menu")):!pe.test(e.key))return;const i=this.classList.contains("show");if(!i&&"Escape"===e.key)return;if(e.preventDefault(),e.stopPropagation(),h(this))return;const n=()=>this.matches('[data-bs-toggle="dropdown"]')?this:t.prev(this,'[data-bs-toggle="dropdown"]')[0];return"Escape"===e.key?(n().focus(),void Ae.clearMenus()):"ArrowUp"===e.key||"ArrowDown"===e.key?(i||n().click(),void Ae.getInstance(n())._selectMenuItem(e)):void(i&&"Space"!==e.key||Ae.clearMenus())}}P.on(document,"keydown.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',Ae.dataApiKeydownHandler),P.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",Ae.dataApiKeydownHandler),P.on(document,"click.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"click.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',(function(t){t.preventDefault(),Ae.dropdownInterface(this)})),_(Ae);class Te{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",e=>e+t),this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",e=>e+t),this._setElementAttributes(".sticky-top","marginRight",e=>e-t)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=i(Number.parseFloat(s))+"px"})}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)})}_applyManipulationCallback(e,i){r(e)?i(e):t.find(e,this._element).forEach(i)}isOverflowing(){return this.getWidth()>0}}const Oe={isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},Ce={isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"};class ke{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&f(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{b(t)})):b(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),b(t)})):b(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className="modal-backdrop",this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...Oe,..."object"==typeof t?t:{}}).rootElement=a(t.rootElement),l("backdrop",t,Ce),t}_append(){this._isAppended||(this._config.rootElement.appendChild(this._getElement()),P.on(this._getElement(),"mousedown.bs.backdrop",()=>{b(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(P.off(this._element,"mousedown.bs.backdrop"),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){v(t,this._getElement(),this._config.isAnimated)}}const Le={backdrop:!0,keyboard:!0,focus:!0},xe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class De extends B{constructor(e,i){super(e),this._config=this._getConfig(i),this._dialog=t.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new Te}static get Default(){return Le}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,"show.bs.modal",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),P.on(this._element,"click.dismiss.bs.modal",'[data-bs-dismiss="modal"]',t=>this.hide(t)),P.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{P.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(t){if(t&&["A","AREA"].includes(t.target.tagName)&&t.preventDefault(),!this._isShown||this._isTransitioning)return;if(P.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),P.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),P.off(this._element,"click.dismiss.bs.modal"),P.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,e)}dispose(){[window,this._dialog].forEach(t=>P.off(t,".bs.modal")),this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.modal")}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ke({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_getConfig(t){return t={...Le,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("modal",t,xe),t}_showElement(e){const i=this._isAnimated(),n=t.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,n&&(n.scrollTop=0),i&&f(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus(),this._queueCallback(()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:e})},this._dialog,i)}_enforceFocus(){P.off(document,"focusin.bs.modal"),P.on(document,"focusin.bs.modal",t=>{document===t.target||this._element===t.target||this._element.contains(t.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?P.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):P.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?P.on(window,"resize.bs.modal",()=>this._adjustDialog()):P.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(t){P.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains("modal-static")||(n||(i.overflowY="hidden"),t.add("modal-static"),this._queueCallback(()=>{t.remove("modal-static"),n||this._queueCallback(()=>{i.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!g()||i&&!t&&g())&&(this._element.style.paddingLeft=e+"px"),(i&&!t&&!g()||!i&&t&&g())&&(this._element.style.paddingRight=e+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=De.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=s(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,"show.bs.modal",t=>{t.defaultPrevented||P.one(e,"hidden.bs.modal",()=>{c(this)&&this.focus()})}),De.getOrCreateInstance(e).toggle(this)})),_(De);const Se={backdrop:!0,keyboard:!0,scroll:!1},Ie={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Ne extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return Se}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||((new Te).hide(),this._enforceFocusOnElement(this._element)),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(P.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new Te).reset(),P.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.offcanvas")}_getConfig(t){return t={...Se,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("offcanvas",t,Ie),t}_initializeBackDrop(){return new ke({isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_enforceFocusOnElement(t){P.off(document,"focusin.bs.offcanvas"),P.on(document,"focusin.bs.offcanvas",e=>{document===e.target||t===e.target||t.contains(e.target)||t.focus()}),t.focus()}_addEventListeners(){P.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),P.on(this._element,"keydown.dismiss.bs.offcanvas",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()})}static jQueryInterface(t){return this.each((function(){const e=Ne.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(e){const i=s(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),h(this))return;P.one(i,"hidden.bs.offcanvas",()=>{c(this)&&this.focus()});const n=t.findOne(".offcanvas.show");n&&n!==i&&Ne.getInstance(n).hide(),Ne.getOrCreateInstance(i).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",()=>t.find(".offcanvas.show").forEach(t=>Ne.getOrCreateInstance(t).show())),_(Ne);const je=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Me=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,Pe=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,He=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!je.has(i)||Boolean(Me.test(t.nodeValue)||Pe.test(t.nodeValue));const n=e.filter(t=>t instanceof RegExp);for(let t=0,e=n.length;t<e;t++)if(n[t].test(i))return!0;return!1};function Re(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(e),o=[].concat(...n.body.querySelectorAll("*"));for(let t=0,i=o.length;t<i;t++){const i=o[t],n=i.nodeName.toLowerCase();if(!s.includes(n)){i.remove();continue}const r=[].concat(...i.attributes),a=[].concat(e["*"]||[],e[n]||[]);r.forEach(t=>{He(t,a)||i.removeAttribute(t.nodeName)})}return n.body.innerHTML}const Be=new RegExp("(^|\\s)bs-tooltip\\S+","g"),We=new Set(["sanitize","allowList","sanitizeFn"]),qe={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},ze={AUTO:"auto",TOP:"top",RIGHT:g()?"left":"right",BOTTOM:"bottom",LEFT:g()?"right":"left"},$e={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Ue={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Fe extends B{constructor(t,e){if(void 0===fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return $e}static get NAME(){return"tooltip"}static get Event(){return Ue}static get DefaultType(){return qe}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),this._popper&&this._popper.destroy(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.Event.SHOW),i=d(this._element),n=null===i?this._element.ownerDocument.documentElement.contains(this._element):i.contains(this._element);if(t.defaultPrevented||!n)return;const s=this.getTipElement(),o=e(this.constructor.NAME);s.setAttribute("id",o),this._element.setAttribute("aria-describedby",o),this.setContent(),this._config.animation&&s.classList.add("fade");const r="function"==typeof this._config.placement?this._config.placement.call(this,s,this._element):this._config.placement,a=this._getAttachment(r);this._addAttachmentClass(a);const{container:l}=this._config;R.set(s,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.appendChild(s),P.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=ue(this._element,s,this._getPopperConfig(a)),s.classList.add("show");const c="function"==typeof this._config.customClass?this._config.customClass():this._config.customClass;c&&s.classList.add(...c.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{P.on(t,"mouseover",u)});const h=this.tip.classList.contains("fade");this._queueCallback(()=>{const t=this._hoverState;this._hoverState=null,P.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)},this.tip,h)}hide(){if(!this._popper)return;const t=this.getTipElement();if(P.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))},this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");return t.innerHTML=this._config.template,this.tip=t.children[0],this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".tooltip-inner",e),this.getTitle()),e.classList.remove("fade","show")}setElementContent(t,e){if(null!==t)return r(e)?(e=a(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Re(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){let t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this._config.title?this._config.title.call(this._element):this._config.title),t}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){const i=this.constructor.DATA_KEY;return(e=e||R.get(t.delegateTarget,i))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),R.set(t.delegateTarget,i,e)),e}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))}_getAttachment(t){return ze[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(t=>{if("click"===t)P.on(this._element,this.constructor.Event.CLICK,this._config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;P.on(this._element,e,this._config.selector,t=>this._enter(t)),P.on(this._element,i,this._config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e._config.delay&&e._config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e._config.delay&&e._config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{We.has(t)&&delete e[t]}),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:a(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=Re(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};if(this._config)for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Be);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){const e=Fe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Fe);const Ve=new RegExp("(^|\\s)bs-popover\\S+","g"),Ke={...Fe.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'},Xe={...Fe.DefaultType,content:"(string|element|function)"},Ye={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Qe extends Fe{static get Default(){return Ke}static get NAME(){return"popover"}static get Event(){return Ye}static get DefaultType(){return Xe}isWithContent(){return this.getTitle()||this._getContent()}getTipElement(){return this.tip||(this.tip=super.getTipElement(),this.getTitle()||t.findOne(".popover-header",this.tip).remove(),this._getContent()||t.findOne(".popover-body",this.tip).remove()),this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".popover-header",e),this.getTitle());let i=this._getContent();"function"==typeof i&&(i=i.call(this._element)),this.setElementContent(t.findOne(".popover-body",e),i),e.classList.remove("fade","show")}_addAttachmentClass(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))}_getContent(){return this._element.getAttribute("data-bs-content")||this._config.content}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Ve);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}static jQueryInterface(t){return this.each((function(){const e=Qe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Qe);const Ge={offset:10,method:"auto",target:""},Ze={offset:"number",method:"string",target:"(string|element)"};class Je extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._selector=`${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,P.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return Ge}static get NAME(){return"scrollspy"}refresh(){const e=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?e:this._config.method,s="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.find(this._selector).map(e=>{const o=n(e),r=o?t.findOne(o):null;if(r){const t=r.getBoundingClientRect();if(t.width||t.height)return[U[i](r).top+s,o]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){P.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){if("string"!=typeof(t={...Ge,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target&&r(t.target)){let{id:i}=t.target;i||(i=e("scrollspy"),t.target.id=i),t.target="#"+i}return l("scrollspy",t,Ze),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t<this._offsets[e+1])&&this._activate(this._targets[e])}}_activate(e){this._activeTarget=e,this._clear();const i=this._selector.split(",").map(t=>`${t}[data-bs-target="${e}"],${t}[href="${e}"]`),n=t.findOne(i.join(","));n.classList.contains("dropdown-item")?(t.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),t.parents(n,".nav, .list-group").forEach(e=>{t.prev(e,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),t.prev(e,".nav-item").forEach(e=>{t.children(e,".nav-link").forEach(t=>t.classList.add("active"))})})),P.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:e})}_clear(){t.find(this._selector).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){const e=Je.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",()=>{t.find('[data-bs-spy="scroll"]').forEach(t=>new Je(t))}),_(Je);class ti extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let e;const i=s(this._element),n=this._element.closest(".nav, .list-group");if(n){const i="UL"===n.nodeName||"OL"===n.nodeName?":scope > li > .active":".active";e=t.find(i,n),e=e[e.length-1]}const o=e?P.trigger(e,"hide.bs.tab",{relatedTarget:this._element}):null;if(P.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==o&&o.defaultPrevented)return;this._activate(this._element,n);const r=()=>{P.trigger(e,"hidden.bs.tab",{relatedTarget:this._element}),P.trigger(this._element,"shown.bs.tab",{relatedTarget:e})};i?this._activate(i,i.parentNode,r):r()}_activate(e,i,n){const s=(!i||"UL"!==i.nodeName&&"OL"!==i.nodeName?t.children(i,".active"):t.find(":scope > li > .active",i))[0],o=n&&s&&s.classList.contains("fade"),r=()=>this._transitionComplete(e,s,n);s&&o?(s.classList.remove("show"),this._queueCallback(r,e,!0)):r()}_transitionComplete(e,i,n){if(i){i.classList.remove("active");const e=t.findOne(":scope > .dropdown-menu .active",i.parentNode);e&&e.classList.remove("active"),"tab"===i.getAttribute("role")&&i.setAttribute("aria-selected",!1)}e.classList.add("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),f(e),e.classList.contains("fade")&&e.classList.add("show");let s=e.parentNode;if(s&&"LI"===s.nodeName&&(s=s.parentNode),s&&s.classList.contains("dropdown-menu")){const i=e.closest(".dropdown");i&&t.find(".dropdown-toggle",i).forEach(t=>t.classList.add("active")),e.setAttribute("aria-expanded",!0)}n&&n()}static jQueryInterface(t){return this.each((function(){const e=ti.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),h(this)||ti.getOrCreateInstance(this).show()})),_(ti);const ei={animation:"boolean",autohide:"boolean",delay:"number"},ii={animation:!0,autohide:!0,delay:5e3};class ni extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return ei}static get Default(){return ii}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),f(this._element),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),this._element.classList.add("show"),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.remove("show"),this._queueCallback(()=>{this._element.classList.add("hide"),P.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(t){return t={...ii,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},l("toast",t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',()=>this.hide()),P.on(this._element,"mouseover.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"mouseout.bs.toast",t=>this._onInteraction(t,!1)),P.on(this._element,"focusin.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"focusout.bs.toast",t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return _(ni),{Alert:W,Button:q,Carousel:Z,Collapse:et,Dropdown:Ae,Modal:De,Offcanvas:Ne,Popover:Qe,ScrollSpy:Je,Tab:ti,Toast:ni,Tooltip:Fe}}));
-//# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file
diff --git a/nginx/landingpage/css/bootstrap-icons.css b/nginx/landingpage/css/bootstrap-icons.css
new file mode 100644
index 000000000..53b2c082b
--- /dev/null
+++ b/nginx/landingpage/css/bootstrap-icons.css
@@ -0,0 +1,1390 @@
+@font-face {
+  font-family: "bootstrap-icons";
+  src: url("./bootstrap-icons.woff2") format("woff2"),
+url("./bootstrap-icons.woff") format("woff");
+}
+
+[class^="bi-"]::before,
+[class*=" bi-"]::before {
+  display: inline-block;
+  font-family: bootstrap-icons !important;
+  font-style: normal;
+  font-weight: normal !important;
+  font-variant: normal;
+  text-transform: none;
+  line-height: 1;
+  vertical-align: -.125em;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.bi-alarm-fill::before { content: "\f101"; }
+.bi-alarm::before { content: "\f102"; }
+.bi-align-bottom::before { content: "\f103"; }
+.bi-align-center::before { content: "\f104"; }
+.bi-align-end::before { content: "\f105"; }
+.bi-align-middle::before { content: "\f106"; }
+.bi-align-start::before { content: "\f107"; }
+.bi-align-top::before { content: "\f108"; }
+.bi-alt::before { content: "\f109"; }
+.bi-app-indicator::before { content: "\f10a"; }
+.bi-app::before { content: "\f10b"; }
+.bi-archive-fill::before { content: "\f10c"; }
+.bi-archive::before { content: "\f10d"; }
+.bi-arrow-90deg-down::before { content: "\f10e"; }
+.bi-arrow-90deg-left::before { content: "\f10f"; }
+.bi-arrow-90deg-right::before { content: "\f110"; }
+.bi-arrow-90deg-up::before { content: "\f111"; }
+.bi-arrow-bar-down::before { content: "\f112"; }
+.bi-arrow-bar-left::before { content: "\f113"; }
+.bi-arrow-bar-right::before { content: "\f114"; }
+.bi-arrow-bar-up::before { content: "\f115"; }
+.bi-arrow-clockwise::before { content: "\f116"; }
+.bi-arrow-counterclockwise::before { content: "\f117"; }
+.bi-arrow-down-circle-fill::before { content: "\f118"; }
+.bi-arrow-down-circle::before { content: "\f119"; }
+.bi-arrow-down-left-circle-fill::before { content: "\f11a"; }
+.bi-arrow-down-left-circle::before { content: "\f11b"; }
+.bi-arrow-down-left-square-fill::before { content: "\f11c"; }
+.bi-arrow-down-left-square::before { content: "\f11d"; }
+.bi-arrow-down-left::before { content: "\f11e"; }
+.bi-arrow-down-right-circle-fill::before { content: "\f11f"; }
+.bi-arrow-down-right-circle::before { content: "\f120"; }
+.bi-arrow-down-right-square-fill::before { content: "\f121"; }
+.bi-arrow-down-right-square::before { content: "\f122"; }
+.bi-arrow-down-right::before { content: "\f123"; }
+.bi-arrow-down-short::before { content: "\f124"; }
+.bi-arrow-down-square-fill::before { content: "\f125"; }
+.bi-arrow-down-square::before { content: "\f126"; }
+.bi-arrow-down-up::before { content: "\f127"; }
+.bi-arrow-down::before { content: "\f128"; }
+.bi-arrow-left-circle-fill::before { content: "\f129"; }
+.bi-arrow-left-circle::before { content: "\f12a"; }
+.bi-arrow-left-right::before { content: "\f12b"; }
+.bi-arrow-left-short::before { content: "\f12c"; }
+.bi-arrow-left-square-fill::before { content: "\f12d"; }
+.bi-arrow-left-square::before { content: "\f12e"; }
+.bi-arrow-left::before { content: "\f12f"; }
+.bi-arrow-repeat::before { content: "\f130"; }
+.bi-arrow-return-left::before { content: "\f131"; }
+.bi-arrow-return-right::before { content: "\f132"; }
+.bi-arrow-right-circle-fill::before { content: "\f133"; }
+.bi-arrow-right-circle::before { content: "\f134"; }
+.bi-arrow-right-short::before { content: "\f135"; }
+.bi-arrow-right-square-fill::before { content: "\f136"; }
+.bi-arrow-right-square::before { content: "\f137"; }
+.bi-arrow-right::before { content: "\f138"; }
+.bi-arrow-up-circle-fill::before { content: "\f139"; }
+.bi-arrow-up-circle::before { content: "\f13a"; }
+.bi-arrow-up-left-circle-fill::before { content: "\f13b"; }
+.bi-arrow-up-left-circle::before { content: "\f13c"; }
+.bi-arrow-up-left-square-fill::before { content: "\f13d"; }
+.bi-arrow-up-left-square::before { content: "\f13e"; }
+.bi-arrow-up-left::before { content: "\f13f"; }
+.bi-arrow-up-right-circle-fill::before { content: "\f140"; }
+.bi-arrow-up-right-circle::before { content: "\f141"; }
+.bi-arrow-up-right-square-fill::before { content: "\f142"; }
+.bi-arrow-up-right-square::before { content: "\f143"; }
+.bi-arrow-up-right::before { content: "\f144"; }
+.bi-arrow-up-short::before { content: "\f145"; }
+.bi-arrow-up-square-fill::before { content: "\f146"; }
+.bi-arrow-up-square::before { content: "\f147"; }
+.bi-arrow-up::before { content: "\f148"; }
+.bi-arrows-angle-contract::before { content: "\f149"; }
+.bi-arrows-angle-expand::before { content: "\f14a"; }
+.bi-arrows-collapse::before { content: "\f14b"; }
+.bi-arrows-expand::before { content: "\f14c"; }
+.bi-arrows-fullscreen::before { content: "\f14d"; }
+.bi-arrows-move::before { content: "\f14e"; }
+.bi-aspect-ratio-fill::before { content: "\f14f"; }
+.bi-aspect-ratio::before { content: "\f150"; }
+.bi-asterisk::before { content: "\f151"; }
+.bi-at::before { content: "\f152"; }
+.bi-award-fill::before { content: "\f153"; }
+.bi-award::before { content: "\f154"; }
+.bi-back::before { content: "\f155"; }
+.bi-backspace-fill::before { content: "\f156"; }
+.bi-backspace-reverse-fill::before { content: "\f157"; }
+.bi-backspace-reverse::before { content: "\f158"; }
+.bi-backspace::before { content: "\f159"; }
+.bi-badge-3d-fill::before { content: "\f15a"; }
+.bi-badge-3d::before { content: "\f15b"; }
+.bi-badge-4k-fill::before { content: "\f15c"; }
+.bi-badge-4k::before { content: "\f15d"; }
+.bi-badge-8k-fill::before { content: "\f15e"; }
+.bi-badge-8k::before { content: "\f15f"; }
+.bi-badge-ad-fill::before { content: "\f160"; }
+.bi-badge-ad::before { content: "\f161"; }
+.bi-badge-ar-fill::before { content: "\f162"; }
+.bi-badge-ar::before { content: "\f163"; }
+.bi-badge-cc-fill::before { content: "\f164"; }
+.bi-badge-cc::before { content: "\f165"; }
+.bi-badge-hd-fill::before { content: "\f166"; }
+.bi-badge-hd::before { content: "\f167"; }
+.bi-badge-tm-fill::before { content: "\f168"; }
+.bi-badge-tm::before { content: "\f169"; }
+.bi-badge-vo-fill::before { content: "\f16a"; }
+.bi-badge-vo::before { content: "\f16b"; }
+.bi-badge-vr-fill::before { content: "\f16c"; }
+.bi-badge-vr::before { content: "\f16d"; }
+.bi-badge-wc-fill::before { content: "\f16e"; }
+.bi-badge-wc::before { content: "\f16f"; }
+.bi-bag-check-fill::before { content: "\f170"; }
+.bi-bag-check::before { content: "\f171"; }
+.bi-bag-dash-fill::before { content: "\f172"; }
+.bi-bag-dash::before { content: "\f173"; }
+.bi-bag-fill::before { content: "\f174"; }
+.bi-bag-plus-fill::before { content: "\f175"; }
+.bi-bag-plus::before { content: "\f176"; }
+.bi-bag-x-fill::before { content: "\f177"; }
+.bi-bag-x::before { content: "\f178"; }
+.bi-bag::before { content: "\f179"; }
+.bi-bar-chart-fill::before { content: "\f17a"; }
+.bi-bar-chart-line-fill::before { content: "\f17b"; }
+.bi-bar-chart-line::before { content: "\f17c"; }
+.bi-bar-chart-steps::before { content: "\f17d"; }
+.bi-bar-chart::before { content: "\f17e"; }
+.bi-basket-fill::before { content: "\f17f"; }
+.bi-basket::before { content: "\f180"; }
+.bi-basket2-fill::before { content: "\f181"; }
+.bi-basket2::before { content: "\f182"; }
+.bi-basket3-fill::before { content: "\f183"; }
+.bi-basket3::before { content: "\f184"; }
+.bi-battery-charging::before { content: "\f185"; }
+.bi-battery-full::before { content: "\f186"; }
+.bi-battery-half::before { content: "\f187"; }
+.bi-battery::before { content: "\f188"; }
+.bi-bell-fill::before { content: "\f189"; }
+.bi-bell::before { content: "\f18a"; }
+.bi-bezier::before { content: "\f18b"; }
+.bi-bezier2::before { content: "\f18c"; }
+.bi-bicycle::before { content: "\f18d"; }
+.bi-binoculars-fill::before { content: "\f18e"; }
+.bi-binoculars::before { content: "\f18f"; }
+.bi-blockquote-left::before { content: "\f190"; }
+.bi-blockquote-right::before { content: "\f191"; }
+.bi-book-fill::before { content: "\f192"; }
+.bi-book-half::before { content: "\f193"; }
+.bi-book::before { content: "\f194"; }
+.bi-bookmark-check-fill::before { content: "\f195"; }
+.bi-bookmark-check::before { content: "\f196"; }
+.bi-bookmark-dash-fill::before { content: "\f197"; }
+.bi-bookmark-dash::before { content: "\f198"; }
+.bi-bookmark-fill::before { content: "\f199"; }
+.bi-bookmark-heart-fill::before { content: "\f19a"; }
+.bi-bookmark-heart::before { content: "\f19b"; }
+.bi-bookmark-plus-fill::before { content: "\f19c"; }
+.bi-bookmark-plus::before { content: "\f19d"; }
+.bi-bookmark-star-fill::before { content: "\f19e"; }
+.bi-bookmark-star::before { content: "\f19f"; }
+.bi-bookmark-x-fill::before { content: "\f1a0"; }
+.bi-bookmark-x::before { content: "\f1a1"; }
+.bi-bookmark::before { content: "\f1a2"; }
+.bi-bookmarks-fill::before { content: "\f1a3"; }
+.bi-bookmarks::before { content: "\f1a4"; }
+.bi-bookshelf::before { content: "\f1a5"; }
+.bi-bootstrap-fill::before { content: "\f1a6"; }
+.bi-bootstrap-reboot::before { content: "\f1a7"; }
+.bi-bootstrap::before { content: "\f1a8"; }
+.bi-border-all::before { content: "\f1a9"; }
+.bi-border-bottom::before { content: "\f1aa"; }
+.bi-border-center::before { content: "\f1ab"; }
+.bi-border-inner::before { content: "\f1ac"; }
+.bi-border-left::before { content: "\f1ad"; }
+.bi-border-middle::before { content: "\f1ae"; }
+.bi-border-outer::before { content: "\f1af"; }
+.bi-border-right::before { content: "\f1b0"; }
+.bi-border-style::before { content: "\f1b1"; }
+.bi-border-top::before { content: "\f1b2"; }
+.bi-border-width::before { content: "\f1b3"; }
+.bi-border::before { content: "\f1b4"; }
+.bi-bounding-box-circles::before { content: "\f1b5"; }
+.bi-bounding-box::before { content: "\f1b6"; }
+.bi-box-arrow-down-left::before { content: "\f1b7"; }
+.bi-box-arrow-down-right::before { content: "\f1b8"; }
+.bi-box-arrow-down::before { content: "\f1b9"; }
+.bi-box-arrow-in-down-left::before { content: "\f1ba"; }
+.bi-box-arrow-in-down-right::before { content: "\f1bb"; }
+.bi-box-arrow-in-down::before { content: "\f1bc"; }
+.bi-box-arrow-in-left::before { content: "\f1bd"; }
+.bi-box-arrow-in-right::before { content: "\f1be"; }
+.bi-box-arrow-in-up-left::before { content: "\f1bf"; }
+.bi-box-arrow-in-up-right::before { content: "\f1c0"; }
+.bi-box-arrow-in-up::before { content: "\f1c1"; }
+.bi-box-arrow-left::before { content: "\f1c2"; }
+.bi-box-arrow-right::before { content: "\f1c3"; }
+.bi-box-arrow-up-left::before { content: "\f1c4"; }
+.bi-box-arrow-up-right::before { content: "\f1c5"; }
+.bi-box-arrow-up::before { content: "\f1c6"; }
+.bi-box-seam::before { content: "\f1c7"; }
+.bi-box::before { content: "\f1c8"; }
+.bi-braces::before { content: "\f1c9"; }
+.bi-bricks::before { content: "\f1ca"; }
+.bi-briefcase-fill::before { content: "\f1cb"; }
+.bi-briefcase::before { content: "\f1cc"; }
+.bi-brightness-alt-high-fill::before { content: "\f1cd"; }
+.bi-brightness-alt-high::before { content: "\f1ce"; }
+.bi-brightness-alt-low-fill::before { content: "\f1cf"; }
+.bi-brightness-alt-low::before { content: "\f1d0"; }
+.bi-brightness-high-fill::before { content: "\f1d1"; }
+.bi-brightness-high::before { content: "\f1d2"; }
+.bi-brightness-low-fill::before { content: "\f1d3"; }
+.bi-brightness-low::before { content: "\f1d4"; }
+.bi-broadcast-pin::before { content: "\f1d5"; }
+.bi-broadcast::before { content: "\f1d6"; }
+.bi-brush-fill::before { content: "\f1d7"; }
+.bi-brush::before { content: "\f1d8"; }
+.bi-bucket-fill::before { content: "\f1d9"; }
+.bi-bucket::before { content: "\f1da"; }
+.bi-bug-fill::before { content: "\f1db"; }
+.bi-bug::before { content: "\f1dc"; }
+.bi-building::before { content: "\f1dd"; }
+.bi-bullseye::before { content: "\f1de"; }
+.bi-calculator-fill::before { content: "\f1df"; }
+.bi-calculator::before { content: "\f1e0"; }
+.bi-calendar-check-fill::before { content: "\f1e1"; }
+.bi-calendar-check::before { content: "\f1e2"; }
+.bi-calendar-date-fill::before { content: "\f1e3"; }
+.bi-calendar-date::before { content: "\f1e4"; }
+.bi-calendar-day-fill::before { content: "\f1e5"; }
+.bi-calendar-day::before { content: "\f1e6"; }
+.bi-calendar-event-fill::before { content: "\f1e7"; }
+.bi-calendar-event::before { content: "\f1e8"; }
+.bi-calendar-fill::before { content: "\f1e9"; }
+.bi-calendar-minus-fill::before { content: "\f1ea"; }
+.bi-calendar-minus::before { content: "\f1eb"; }
+.bi-calendar-month-fill::before { content: "\f1ec"; }
+.bi-calendar-month::before { content: "\f1ed"; }
+.bi-calendar-plus-fill::before { content: "\f1ee"; }
+.bi-calendar-plus::before { content: "\f1ef"; }
+.bi-calendar-range-fill::before { content: "\f1f0"; }
+.bi-calendar-range::before { content: "\f1f1"; }
+.bi-calendar-week-fill::before { content: "\f1f2"; }
+.bi-calendar-week::before { content: "\f1f3"; }
+.bi-calendar-x-fill::before { content: "\f1f4"; }
+.bi-calendar-x::before { content: "\f1f5"; }
+.bi-calendar::before { content: "\f1f6"; }
+.bi-calendar2-check-fill::before { content: "\f1f7"; }
+.bi-calendar2-check::before { content: "\f1f8"; }
+.bi-calendar2-date-fill::before { content: "\f1f9"; }
+.bi-calendar2-date::before { content: "\f1fa"; }
+.bi-calendar2-day-fill::before { content: "\f1fb"; }
+.bi-calendar2-day::before { content: "\f1fc"; }
+.bi-calendar2-event-fill::before { content: "\f1fd"; }
+.bi-calendar2-event::before { content: "\f1fe"; }
+.bi-calendar2-fill::before { content: "\f1ff"; }
+.bi-calendar2-minus-fill::before { content: "\f200"; }
+.bi-calendar2-minus::before { content: "\f201"; }
+.bi-calendar2-month-fill::before { content: "\f202"; }
+.bi-calendar2-month::before { content: "\f203"; }
+.bi-calendar2-plus-fill::before { content: "\f204"; }
+.bi-calendar2-plus::before { content: "\f205"; }
+.bi-calendar2-range-fill::before { content: "\f206"; }
+.bi-calendar2-range::before { content: "\f207"; }
+.bi-calendar2-week-fill::before { content: "\f208"; }
+.bi-calendar2-week::before { content: "\f209"; }
+.bi-calendar2-x-fill::before { content: "\f20a"; }
+.bi-calendar2-x::before { content: "\f20b"; }
+.bi-calendar2::before { content: "\f20c"; }
+.bi-calendar3-event-fill::before { content: "\f20d"; }
+.bi-calendar3-event::before { content: "\f20e"; }
+.bi-calendar3-fill::before { content: "\f20f"; }
+.bi-calendar3-range-fill::before { content: "\f210"; }
+.bi-calendar3-range::before { content: "\f211"; }
+.bi-calendar3-week-fill::before { content: "\f212"; }
+.bi-calendar3-week::before { content: "\f213"; }
+.bi-calendar3::before { content: "\f214"; }
+.bi-calendar4-event::before { content: "\f215"; }
+.bi-calendar4-range::before { content: "\f216"; }
+.bi-calendar4-week::before { content: "\f217"; }
+.bi-calendar4::before { content: "\f218"; }
+.bi-camera-fill::before { content: "\f219"; }
+.bi-camera-reels-fill::before { content: "\f21a"; }
+.bi-camera-reels::before { content: "\f21b"; }
+.bi-camera-video-fill::before { content: "\f21c"; }
+.bi-camera-video-off-fill::before { content: "\f21d"; }
+.bi-camera-video-off::before { content: "\f21e"; }
+.bi-camera-video::before { content: "\f21f"; }
+.bi-camera::before { content: "\f220"; }
+.bi-camera2::before { content: "\f221"; }
+.bi-capslock-fill::before { content: "\f222"; }
+.bi-capslock::before { content: "\f223"; }
+.bi-card-checklist::before { content: "\f224"; }
+.bi-card-heading::before { content: "\f225"; }
+.bi-card-image::before { content: "\f226"; }
+.bi-card-list::before { content: "\f227"; }
+.bi-card-text::before { content: "\f228"; }
+.bi-caret-down-fill::before { content: "\f229"; }
+.bi-caret-down-square-fill::before { content: "\f22a"; }
+.bi-caret-down-square::before { content: "\f22b"; }
+.bi-caret-down::before { content: "\f22c"; }
+.bi-caret-left-fill::before { content: "\f22d"; }
+.bi-caret-left-square-fill::before { content: "\f22e"; }
+.bi-caret-left-square::before { content: "\f22f"; }
+.bi-caret-left::before { content: "\f230"; }
+.bi-caret-right-fill::before { content: "\f231"; }
+.bi-caret-right-square-fill::before { content: "\f232"; }
+.bi-caret-right-square::before { content: "\f233"; }
+.bi-caret-right::before { content: "\f234"; }
+.bi-caret-up-fill::before { content: "\f235"; }
+.bi-caret-up-square-fill::before { content: "\f236"; }
+.bi-caret-up-square::before { content: "\f237"; }
+.bi-caret-up::before { content: "\f238"; }
+.bi-cart-check-fill::before { content: "\f239"; }
+.bi-cart-check::before { content: "\f23a"; }
+.bi-cart-dash-fill::before { content: "\f23b"; }
+.bi-cart-dash::before { content: "\f23c"; }
+.bi-cart-fill::before { content: "\f23d"; }
+.bi-cart-plus-fill::before { content: "\f23e"; }
+.bi-cart-plus::before { content: "\f23f"; }
+.bi-cart-x-fill::before { content: "\f240"; }
+.bi-cart-x::before { content: "\f241"; }
+.bi-cart::before { content: "\f242"; }
+.bi-cart2::before { content: "\f243"; }
+.bi-cart3::before { content: "\f244"; }
+.bi-cart4::before { content: "\f245"; }
+.bi-cash-stack::before { content: "\f246"; }
+.bi-cash::before { content: "\f247"; }
+.bi-cast::before { content: "\f248"; }
+.bi-chat-dots-fill::before { content: "\f249"; }
+.bi-chat-dots::before { content: "\f24a"; }
+.bi-chat-fill::before { content: "\f24b"; }
+.bi-chat-left-dots-fill::before { content: "\f24c"; }
+.bi-chat-left-dots::before { content: "\f24d"; }
+.bi-chat-left-fill::before { content: "\f24e"; }
+.bi-chat-left-quote-fill::before { content: "\f24f"; }
+.bi-chat-left-quote::before { content: "\f250"; }
+.bi-chat-left-text-fill::before { content: "\f251"; }
+.bi-chat-left-text::before { content: "\f252"; }
+.bi-chat-left::before { content: "\f253"; }
+.bi-chat-quote-fill::before { content: "\f254"; }
+.bi-chat-quote::before { content: "\f255"; }
+.bi-chat-right-dots-fill::before { content: "\f256"; }
+.bi-chat-right-dots::before { content: "\f257"; }
+.bi-chat-right-fill::before { content: "\f258"; }
+.bi-chat-right-quote-fill::before { content: "\f259"; }
+.bi-chat-right-quote::before { content: "\f25a"; }
+.bi-chat-right-text-fill::before { content: "\f25b"; }
+.bi-chat-right-text::before { content: "\f25c"; }
+.bi-chat-right::before { content: "\f25d"; }
+.bi-chat-square-dots-fill::before { content: "\f25e"; }
+.bi-chat-square-dots::before { content: "\f25f"; }
+.bi-chat-square-fill::before { content: "\f260"; }
+.bi-chat-square-quote-fill::before { content: "\f261"; }
+.bi-chat-square-quote::before { content: "\f262"; }
+.bi-chat-square-text-fill::before { content: "\f263"; }
+.bi-chat-square-text::before { content: "\f264"; }
+.bi-chat-square::before { content: "\f265"; }
+.bi-chat-text-fill::before { content: "\f266"; }
+.bi-chat-text::before { content: "\f267"; }
+.bi-chat::before { content: "\f268"; }
+.bi-check-all::before { content: "\f269"; }
+.bi-check-circle-fill::before { content: "\f26a"; }
+.bi-check-circle::before { content: "\f26b"; }
+.bi-check-square-fill::before { content: "\f26c"; }
+.bi-check-square::before { content: "\f26d"; }
+.bi-check::before { content: "\f26e"; }
+.bi-check2-all::before { content: "\f26f"; }
+.bi-check2-circle::before { content: "\f270"; }
+.bi-check2-square::before { content: "\f271"; }
+.bi-check2::before { content: "\f272"; }
+.bi-chevron-bar-contract::before { content: "\f273"; }
+.bi-chevron-bar-down::before { content: "\f274"; }
+.bi-chevron-bar-expand::before { content: "\f275"; }
+.bi-chevron-bar-left::before { content: "\f276"; }
+.bi-chevron-bar-right::before { content: "\f277"; }
+.bi-chevron-bar-up::before { content: "\f278"; }
+.bi-chevron-compact-down::before { content: "\f279"; }
+.bi-chevron-compact-left::before { content: "\f27a"; }
+.bi-chevron-compact-right::before { content: "\f27b"; }
+.bi-chevron-compact-up::before { content: "\f27c"; }
+.bi-chevron-contract::before { content: "\f27d"; }
+.bi-chevron-double-down::before { content: "\f27e"; }
+.bi-chevron-double-left::before { content: "\f27f"; }
+.bi-chevron-double-right::before { content: "\f280"; }
+.bi-chevron-double-up::before { content: "\f281"; }
+.bi-chevron-down::before { content: "\f282"; }
+.bi-chevron-expand::before { content: "\f283"; }
+.bi-chevron-left::before { content: "\f284"; }
+.bi-chevron-right::before { content: "\f285"; }
+.bi-chevron-up::before { content: "\f286"; }
+.bi-circle-fill::before { content: "\f287"; }
+.bi-circle-half::before { content: "\f288"; }
+.bi-circle-square::before { content: "\f289"; }
+.bi-circle::before { content: "\f28a"; }
+.bi-clipboard-check::before { content: "\f28b"; }
+.bi-clipboard-data::before { content: "\f28c"; }
+.bi-clipboard-minus::before { content: "\f28d"; }
+.bi-clipboard-plus::before { content: "\f28e"; }
+.bi-clipboard-x::before { content: "\f28f"; }
+.bi-clipboard::before { content: "\f290"; }
+.bi-clock-fill::before { content: "\f291"; }
+.bi-clock-history::before { content: "\f292"; }
+.bi-clock::before { content: "\f293"; }
+.bi-cloud-arrow-down-fill::before { content: "\f294"; }
+.bi-cloud-arrow-down::before { content: "\f295"; }
+.bi-cloud-arrow-up-fill::before { content: "\f296"; }
+.bi-cloud-arrow-up::before { content: "\f297"; }
+.bi-cloud-check-fill::before { content: "\f298"; }
+.bi-cloud-check::before { content: "\f299"; }
+.bi-cloud-download-fill::before { content: "\f29a"; }
+.bi-cloud-download::before { content: "\f29b"; }
+.bi-cloud-drizzle-fill::before { content: "\f29c"; }
+.bi-cloud-drizzle::before { content: "\f29d"; }
+.bi-cloud-fill::before { content: "\f29e"; }
+.bi-cloud-fog-fill::before { content: "\f29f"; }
+.bi-cloud-fog::before { content: "\f2a0"; }
+.bi-cloud-fog2-fill::before { content: "\f2a1"; }
+.bi-cloud-fog2::before { content: "\f2a2"; }
+.bi-cloud-hail-fill::before { content: "\f2a3"; }
+.bi-cloud-hail::before { content: "\f2a4"; }
+.bi-cloud-haze-1::before { content: "\f2a5"; }
+.bi-cloud-haze-fill::before { content: "\f2a6"; }
+.bi-cloud-haze::before { content: "\f2a7"; }
+.bi-cloud-haze2-fill::before { content: "\f2a8"; }
+.bi-cloud-lightning-fill::before { content: "\f2a9"; }
+.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; }
+.bi-cloud-lightning-rain::before { content: "\f2ab"; }
+.bi-cloud-lightning::before { content: "\f2ac"; }
+.bi-cloud-minus-fill::before { content: "\f2ad"; }
+.bi-cloud-minus::before { content: "\f2ae"; }
+.bi-cloud-moon-fill::before { content: "\f2af"; }
+.bi-cloud-moon::before { content: "\f2b0"; }
+.bi-cloud-plus-fill::before { content: "\f2b1"; }
+.bi-cloud-plus::before { content: "\f2b2"; }
+.bi-cloud-rain-fill::before { content: "\f2b3"; }
+.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; }
+.bi-cloud-rain-heavy::before { content: "\f2b5"; }
+.bi-cloud-rain::before { content: "\f2b6"; }
+.bi-cloud-slash-fill::before { content: "\f2b7"; }
+.bi-cloud-slash::before { content: "\f2b8"; }
+.bi-cloud-sleet-fill::before { content: "\f2b9"; }
+.bi-cloud-sleet::before { content: "\f2ba"; }
+.bi-cloud-snow-fill::before { content: "\f2bb"; }
+.bi-cloud-snow::before { content: "\f2bc"; }
+.bi-cloud-sun-fill::before { content: "\f2bd"; }
+.bi-cloud-sun::before { content: "\f2be"; }
+.bi-cloud-upload-fill::before { content: "\f2bf"; }
+.bi-cloud-upload::before { content: "\f2c0"; }
+.bi-cloud::before { content: "\f2c1"; }
+.bi-clouds-fill::before { content: "\f2c2"; }
+.bi-clouds::before { content: "\f2c3"; }
+.bi-cloudy-fill::before { content: "\f2c4"; }
+.bi-cloudy::before { content: "\f2c5"; }
+.bi-code-slash::before { content: "\f2c6"; }
+.bi-code-square::before { content: "\f2c7"; }
+.bi-code::before { content: "\f2c8"; }
+.bi-collection-fill::before { content: "\f2c9"; }
+.bi-collection-play-fill::before { content: "\f2ca"; }
+.bi-collection-play::before { content: "\f2cb"; }
+.bi-collection::before { content: "\f2cc"; }
+.bi-columns-gap::before { content: "\f2cd"; }
+.bi-columns::before { content: "\f2ce"; }
+.bi-command::before { content: "\f2cf"; }
+.bi-compass-fill::before { content: "\f2d0"; }
+.bi-compass::before { content: "\f2d1"; }
+.bi-cone-striped::before { content: "\f2d2"; }
+.bi-cone::before { content: "\f2d3"; }
+.bi-controller::before { content: "\f2d4"; }
+.bi-cpu-fill::before { content: "\f2d5"; }
+.bi-cpu::before { content: "\f2d6"; }
+.bi-credit-card-2-back-fill::before { content: "\f2d7"; }
+.bi-credit-card-2-back::before { content: "\f2d8"; }
+.bi-credit-card-2-front-fill::before { content: "\f2d9"; }
+.bi-credit-card-2-front::before { content: "\f2da"; }
+.bi-credit-card-fill::before { content: "\f2db"; }
+.bi-credit-card::before { content: "\f2dc"; }
+.bi-crop::before { content: "\f2dd"; }
+.bi-cup-fill::before { content: "\f2de"; }
+.bi-cup-straw::before { content: "\f2df"; }
+.bi-cup::before { content: "\f2e0"; }
+.bi-cursor-fill::before { content: "\f2e1"; }
+.bi-cursor-text::before { content: "\f2e2"; }
+.bi-cursor::before { content: "\f2e3"; }
+.bi-dash-circle-dotted::before { content: "\f2e4"; }
+.bi-dash-circle-fill::before { content: "\f2e5"; }
+.bi-dash-circle::before { content: "\f2e6"; }
+.bi-dash-square-dotted::before { content: "\f2e7"; }
+.bi-dash-square-fill::before { content: "\f2e8"; }
+.bi-dash-square::before { content: "\f2e9"; }
+.bi-dash::before { content: "\f2ea"; }
+.bi-diagram-2-fill::before { content: "\f2eb"; }
+.bi-diagram-2::before { content: "\f2ec"; }
+.bi-diagram-3-fill::before { content: "\f2ed"; }
+.bi-diagram-3::before { content: "\f2ee"; }
+.bi-diamond-fill::before { content: "\f2ef"; }
+.bi-diamond-half::before { content: "\f2f0"; }
+.bi-diamond::before { content: "\f2f1"; }
+.bi-dice-1-fill::before { content: "\f2f2"; }
+.bi-dice-1::before { content: "\f2f3"; }
+.bi-dice-2-fill::before { content: "\f2f4"; }
+.bi-dice-2::before { content: "\f2f5"; }
+.bi-dice-3-fill::before { content: "\f2f6"; }
+.bi-dice-3::before { content: "\f2f7"; }
+.bi-dice-4-fill::before { content: "\f2f8"; }
+.bi-dice-4::before { content: "\f2f9"; }
+.bi-dice-5-fill::before { content: "\f2fa"; }
+.bi-dice-5::before { content: "\f2fb"; }
+.bi-dice-6-fill::before { content: "\f2fc"; }
+.bi-dice-6::before { content: "\f2fd"; }
+.bi-disc-fill::before { content: "\f2fe"; }
+.bi-disc::before { content: "\f2ff"; }
+.bi-discord::before { content: "\f300"; }
+.bi-display-fill::before { content: "\f301"; }
+.bi-display::before { content: "\f302"; }
+.bi-distribute-horizontal::before { content: "\f303"; }
+.bi-distribute-vertical::before { content: "\f304"; }
+.bi-door-closed-fill::before { content: "\f305"; }
+.bi-door-closed::before { content: "\f306"; }
+.bi-door-open-fill::before { content: "\f307"; }
+.bi-door-open::before { content: "\f308"; }
+.bi-dot::before { content: "\f309"; }
+.bi-download::before { content: "\f30a"; }
+.bi-droplet-fill::before { content: "\f30b"; }
+.bi-droplet-half::before { content: "\f30c"; }
+.bi-droplet::before { content: "\f30d"; }
+.bi-earbuds::before { content: "\f30e"; }
+.bi-easel-fill::before { content: "\f30f"; }
+.bi-easel::before { content: "\f310"; }
+.bi-egg-fill::before { content: "\f311"; }
+.bi-egg-fried::before { content: "\f312"; }
+.bi-egg::before { content: "\f313"; }
+.bi-eject-fill::before { content: "\f314"; }
+.bi-eject::before { content: "\f315"; }
+.bi-emoji-angry-fill::before { content: "\f316"; }
+.bi-emoji-angry::before { content: "\f317"; }
+.bi-emoji-dizzy-fill::before { content: "\f318"; }
+.bi-emoji-dizzy::before { content: "\f319"; }
+.bi-emoji-expressionless-fill::before { content: "\f31a"; }
+.bi-emoji-expressionless::before { content: "\f31b"; }
+.bi-emoji-frown-fill::before { content: "\f31c"; }
+.bi-emoji-frown::before { content: "\f31d"; }
+.bi-emoji-heart-eyes-fill::before { content: "\f31e"; }
+.bi-emoji-heart-eyes::before { content: "\f31f"; }
+.bi-emoji-laughing-fill::before { content: "\f320"; }
+.bi-emoji-laughing::before { content: "\f321"; }
+.bi-emoji-neutral-fill::before { content: "\f322"; }
+.bi-emoji-neutral::before { content: "\f323"; }
+.bi-emoji-smile-fill::before { content: "\f324"; }
+.bi-emoji-smile-upside-down-fill::before { content: "\f325"; }
+.bi-emoji-smile-upside-down::before { content: "\f326"; }
+.bi-emoji-smile::before { content: "\f327"; }
+.bi-emoji-sunglasses-fill::before { content: "\f328"; }
+.bi-emoji-sunglasses::before { content: "\f329"; }
+.bi-emoji-wink-fill::before { content: "\f32a"; }
+.bi-emoji-wink::before { content: "\f32b"; }
+.bi-envelope-fill::before { content: "\f32c"; }
+.bi-envelope-open-fill::before { content: "\f32d"; }
+.bi-envelope-open::before { content: "\f32e"; }
+.bi-envelope::before { content: "\f32f"; }
+.bi-eraser-fill::before { content: "\f330"; }
+.bi-eraser::before { content: "\f331"; }
+.bi-exclamation-circle-fill::before { content: "\f332"; }
+.bi-exclamation-circle::before { content: "\f333"; }
+.bi-exclamation-diamond-fill::before { content: "\f334"; }
+.bi-exclamation-diamond::before { content: "\f335"; }
+.bi-exclamation-octagon-fill::before { content: "\f336"; }
+.bi-exclamation-octagon::before { content: "\f337"; }
+.bi-exclamation-square-fill::before { content: "\f338"; }
+.bi-exclamation-square::before { content: "\f339"; }
+.bi-exclamation-triangle-fill::before { content: "\f33a"; }
+.bi-exclamation-triangle::before { content: "\f33b"; }
+.bi-exclamation::before { content: "\f33c"; }
+.bi-exclude::before { content: "\f33d"; }
+.bi-eye-fill::before { content: "\f33e"; }
+.bi-eye-slash-fill::before { content: "\f33f"; }
+.bi-eye-slash::before { content: "\f340"; }
+.bi-eye::before { content: "\f341"; }
+.bi-eyedropper::before { content: "\f342"; }
+.bi-eyeglasses::before { content: "\f343"; }
+.bi-facebook::before { content: "\f344"; }
+.bi-file-arrow-down-fill::before { content: "\f345"; }
+.bi-file-arrow-down::before { content: "\f346"; }
+.bi-file-arrow-up-fill::before { content: "\f347"; }
+.bi-file-arrow-up::before { content: "\f348"; }
+.bi-file-bar-graph-fill::before { content: "\f349"; }
+.bi-file-bar-graph::before { content: "\f34a"; }
+.bi-file-binary-fill::before { content: "\f34b"; }
+.bi-file-binary::before { content: "\f34c"; }
+.bi-file-break-fill::before { content: "\f34d"; }
+.bi-file-break::before { content: "\f34e"; }
+.bi-file-check-fill::before { content: "\f34f"; }
+.bi-file-check::before { content: "\f350"; }
+.bi-file-code-fill::before { content: "\f351"; }
+.bi-file-code::before { content: "\f352"; }
+.bi-file-diff-fill::before { content: "\f353"; }
+.bi-file-diff::before { content: "\f354"; }
+.bi-file-earmark-arrow-down-fill::before { content: "\f355"; }
+.bi-file-earmark-arrow-down::before { content: "\f356"; }
+.bi-file-earmark-arrow-up-fill::before { content: "\f357"; }
+.bi-file-earmark-arrow-up::before { content: "\f358"; }
+.bi-file-earmark-bar-graph-fill::before { content: "\f359"; }
+.bi-file-earmark-bar-graph::before { content: "\f35a"; }
+.bi-file-earmark-binary-fill::before { content: "\f35b"; }
+.bi-file-earmark-binary::before { content: "\f35c"; }
+.bi-file-earmark-break-fill::before { content: "\f35d"; }
+.bi-file-earmark-break::before { content: "\f35e"; }
+.bi-file-earmark-check-fill::before { content: "\f35f"; }
+.bi-file-earmark-check::before { content: "\f360"; }
+.bi-file-earmark-code-fill::before { content: "\f361"; }
+.bi-file-earmark-code::before { content: "\f362"; }
+.bi-file-earmark-diff-fill::before { content: "\f363"; }
+.bi-file-earmark-diff::before { content: "\f364"; }
+.bi-file-earmark-easel-fill::before { content: "\f365"; }
+.bi-file-earmark-easel::before { content: "\f366"; }
+.bi-file-earmark-excel-fill::before { content: "\f367"; }
+.bi-file-earmark-excel::before { content: "\f368"; }
+.bi-file-earmark-fill::before { content: "\f369"; }
+.bi-file-earmark-font-fill::before { content: "\f36a"; }
+.bi-file-earmark-font::before { content: "\f36b"; }
+.bi-file-earmark-image-fill::before { content: "\f36c"; }
+.bi-file-earmark-image::before { content: "\f36d"; }
+.bi-file-earmark-lock-fill::before { content: "\f36e"; }
+.bi-file-earmark-lock::before { content: "\f36f"; }
+.bi-file-earmark-lock2-fill::before { content: "\f370"; }
+.bi-file-earmark-lock2::before { content: "\f371"; }
+.bi-file-earmark-medical-fill::before { content: "\f372"; }
+.bi-file-earmark-medical::before { content: "\f373"; }
+.bi-file-earmark-minus-fill::before { content: "\f374"; }
+.bi-file-earmark-minus::before { content: "\f375"; }
+.bi-file-earmark-music-fill::before { content: "\f376"; }
+.bi-file-earmark-music::before { content: "\f377"; }
+.bi-file-earmark-person-fill::before { content: "\f378"; }
+.bi-file-earmark-person::before { content: "\f379"; }
+.bi-file-earmark-play-fill::before { content: "\f37a"; }
+.bi-file-earmark-play::before { content: "\f37b"; }
+.bi-file-earmark-plus-fill::before { content: "\f37c"; }
+.bi-file-earmark-plus::before { content: "\f37d"; }
+.bi-file-earmark-post-fill::before { content: "\f37e"; }
+.bi-file-earmark-post::before { content: "\f37f"; }
+.bi-file-earmark-ppt-fill::before { content: "\f380"; }
+.bi-file-earmark-ppt::before { content: "\f381"; }
+.bi-file-earmark-richtext-fill::before { content: "\f382"; }
+.bi-file-earmark-richtext::before { content: "\f383"; }
+.bi-file-earmark-ruled-fill::before { content: "\f384"; }
+.bi-file-earmark-ruled::before { content: "\f385"; }
+.bi-file-earmark-slides-fill::before { content: "\f386"; }
+.bi-file-earmark-slides::before { content: "\f387"; }
+.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; }
+.bi-file-earmark-spreadsheet::before { content: "\f389"; }
+.bi-file-earmark-text-fill::before { content: "\f38a"; }
+.bi-file-earmark-text::before { content: "\f38b"; }
+.bi-file-earmark-word-fill::before { content: "\f38c"; }
+.bi-file-earmark-word::before { content: "\f38d"; }
+.bi-file-earmark-x-fill::before { content: "\f38e"; }
+.bi-file-earmark-x::before { content: "\f38f"; }
+.bi-file-earmark-zip-fill::before { content: "\f390"; }
+.bi-file-earmark-zip::before { content: "\f391"; }
+.bi-file-earmark::before { content: "\f392"; }
+.bi-file-easel-fill::before { content: "\f393"; }
+.bi-file-easel::before { content: "\f394"; }
+.bi-file-excel-fill::before { content: "\f395"; }
+.bi-file-excel::before { content: "\f396"; }
+.bi-file-fill::before { content: "\f397"; }
+.bi-file-font-fill::before { content: "\f398"; }
+.bi-file-font::before { content: "\f399"; }
+.bi-file-image-fill::before { content: "\f39a"; }
+.bi-file-image::before { content: "\f39b"; }
+.bi-file-lock-fill::before { content: "\f39c"; }
+.bi-file-lock::before { content: "\f39d"; }
+.bi-file-lock2-fill::before { content: "\f39e"; }
+.bi-file-lock2::before { content: "\f39f"; }
+.bi-file-medical-fill::before { content: "\f3a0"; }
+.bi-file-medical::before { content: "\f3a1"; }
+.bi-file-minus-fill::before { content: "\f3a2"; }
+.bi-file-minus::before { content: "\f3a3"; }
+.bi-file-music-fill::before { content: "\f3a4"; }
+.bi-file-music::before { content: "\f3a5"; }
+.bi-file-person-fill::before { content: "\f3a6"; }
+.bi-file-person::before { content: "\f3a7"; }
+.bi-file-play-fill::before { content: "\f3a8"; }
+.bi-file-play::before { content: "\f3a9"; }
+.bi-file-plus-fill::before { content: "\f3aa"; }
+.bi-file-plus::before { content: "\f3ab"; }
+.bi-file-post-fill::before { content: "\f3ac"; }
+.bi-file-post::before { content: "\f3ad"; }
+.bi-file-ppt-fill::before { content: "\f3ae"; }
+.bi-file-ppt::before { content: "\f3af"; }
+.bi-file-richtext-fill::before { content: "\f3b0"; }
+.bi-file-richtext::before { content: "\f3b1"; }
+.bi-file-ruled-fill::before { content: "\f3b2"; }
+.bi-file-ruled::before { content: "\f3b3"; }
+.bi-file-slides-fill::before { content: "\f3b4"; }
+.bi-file-slides::before { content: "\f3b5"; }
+.bi-file-spreadsheet-fill::before { content: "\f3b6"; }
+.bi-file-spreadsheet::before { content: "\f3b7"; }
+.bi-file-text-fill::before { content: "\f3b8"; }
+.bi-file-text::before { content: "\f3b9"; }
+.bi-file-word-fill::before { content: "\f3ba"; }
+.bi-file-word::before { content: "\f3bb"; }
+.bi-file-x-fill::before { content: "\f3bc"; }
+.bi-file-x::before { content: "\f3bd"; }
+.bi-file-zip-fill::before { content: "\f3be"; }
+.bi-file-zip::before { content: "\f3bf"; }
+.bi-file::before { content: "\f3c0"; }
+.bi-files-alt::before { content: "\f3c1"; }
+.bi-files::before { content: "\f3c2"; }
+.bi-film::before { content: "\f3c3"; }
+.bi-filter-circle-fill::before { content: "\f3c4"; }
+.bi-filter-circle::before { content: "\f3c5"; }
+.bi-filter-left::before { content: "\f3c6"; }
+.bi-filter-right::before { content: "\f3c7"; }
+.bi-filter-square-fill::before { content: "\f3c8"; }
+.bi-filter-square::before { content: "\f3c9"; }
+.bi-filter::before { content: "\f3ca"; }
+.bi-flag-fill::before { content: "\f3cb"; }
+.bi-flag::before { content: "\f3cc"; }
+.bi-flower1::before { content: "\f3cd"; }
+.bi-flower2::before { content: "\f3ce"; }
+.bi-flower3::before { content: "\f3cf"; }
+.bi-folder-check::before { content: "\f3d0"; }
+.bi-folder-fill::before { content: "\f3d1"; }
+.bi-folder-minus::before { content: "\f3d2"; }
+.bi-folder-plus::before { content: "\f3d3"; }
+.bi-folder-symlink-fill::before { content: "\f3d4"; }
+.bi-folder-symlink::before { content: "\f3d5"; }
+.bi-folder-x::before { content: "\f3d6"; }
+.bi-folder::before { content: "\f3d7"; }
+.bi-folder2-open::before { content: "\f3d8"; }
+.bi-folder2::before { content: "\f3d9"; }
+.bi-fonts::before { content: "\f3da"; }
+.bi-forward-fill::before { content: "\f3db"; }
+.bi-forward::before { content: "\f3dc"; }
+.bi-front::before { content: "\f3dd"; }
+.bi-fullscreen-exit::before { content: "\f3de"; }
+.bi-fullscreen::before { content: "\f3df"; }
+.bi-funnel-fill::before { content: "\f3e0"; }
+.bi-funnel::before { content: "\f3e1"; }
+.bi-gear-fill::before { content: "\f3e2"; }
+.bi-gear-wide-connected::before { content: "\f3e3"; }
+.bi-gear-wide::before { content: "\f3e4"; }
+.bi-gear::before { content: "\f3e5"; }
+.bi-gem::before { content: "\f3e6"; }
+.bi-geo-alt-fill::before { content: "\f3e7"; }
+.bi-geo-alt::before { content: "\f3e8"; }
+.bi-geo-fill::before { content: "\f3e9"; }
+.bi-geo::before { content: "\f3ea"; }
+.bi-gift-fill::before { content: "\f3eb"; }
+.bi-gift::before { content: "\f3ec"; }
+.bi-github::before { content: "\f3ed"; }
+.bi-globe::before { content: "\f3ee"; }
+.bi-globe2::before { content: "\f3ef"; }
+.bi-google::before { content: "\f3f0"; }
+.bi-graph-down::before { content: "\f3f1"; }
+.bi-graph-up::before { content: "\f3f2"; }
+.bi-grid-1x2-fill::before { content: "\f3f3"; }
+.bi-grid-1x2::before { content: "\f3f4"; }
+.bi-grid-3x2-gap-fill::before { content: "\f3f5"; }
+.bi-grid-3x2-gap::before { content: "\f3f6"; }
+.bi-grid-3x2::before { content: "\f3f7"; }
+.bi-grid-3x3-gap-fill::before { content: "\f3f8"; }
+.bi-grid-3x3-gap::before { content: "\f3f9"; }
+.bi-grid-3x3::before { content: "\f3fa"; }
+.bi-grid-fill::before { content: "\f3fb"; }
+.bi-grid::before { content: "\f3fc"; }
+.bi-grip-horizontal::before { content: "\f3fd"; }
+.bi-grip-vertical::before { content: "\f3fe"; }
+.bi-hammer::before { content: "\f3ff"; }
+.bi-hand-index-fill::before { content: "\f400"; }
+.bi-hand-index-thumb-fill::before { content: "\f401"; }
+.bi-hand-index-thumb::before { content: "\f402"; }
+.bi-hand-index::before { content: "\f403"; }
+.bi-hand-thumbs-down-fill::before { content: "\f404"; }
+.bi-hand-thumbs-down::before { content: "\f405"; }
+.bi-hand-thumbs-up-fill::before { content: "\f406"; }
+.bi-hand-thumbs-up::before { content: "\f407"; }
+.bi-handbag-fill::before { content: "\f408"; }
+.bi-handbag::before { content: "\f409"; }
+.bi-hash::before { content: "\f40a"; }
+.bi-hdd-fill::before { content: "\f40b"; }
+.bi-hdd-network-fill::before { content: "\f40c"; }
+.bi-hdd-network::before { content: "\f40d"; }
+.bi-hdd-rack-fill::before { content: "\f40e"; }
+.bi-hdd-rack::before { content: "\f40f"; }
+.bi-hdd-stack-fill::before { content: "\f410"; }
+.bi-hdd-stack::before { content: "\f411"; }
+.bi-hdd::before { content: "\f412"; }
+.bi-headphones::before { content: "\f413"; }
+.bi-headset::before { content: "\f414"; }
+.bi-heart-fill::before { content: "\f415"; }
+.bi-heart-half::before { content: "\f416"; }
+.bi-heart::before { content: "\f417"; }
+.bi-heptagon-fill::before { content: "\f418"; }
+.bi-heptagon-half::before { content: "\f419"; }
+.bi-heptagon::before { content: "\f41a"; }
+.bi-hexagon-fill::before { content: "\f41b"; }
+.bi-hexagon-half::before { content: "\f41c"; }
+.bi-hexagon::before { content: "\f41d"; }
+.bi-hourglass-bottom::before { content: "\f41e"; }
+.bi-hourglass-split::before { content: "\f41f"; }
+.bi-hourglass-top::before { content: "\f420"; }
+.bi-hourglass::before { content: "\f421"; }
+.bi-house-door-fill::before { content: "\f422"; }
+.bi-house-door::before { content: "\f423"; }
+.bi-house-fill::before { content: "\f424"; }
+.bi-house::before { content: "\f425"; }
+.bi-hr::before { content: "\f426"; }
+.bi-hurricane::before { content: "\f427"; }
+.bi-image-alt::before { content: "\f428"; }
+.bi-image-fill::before { content: "\f429"; }
+.bi-image::before { content: "\f42a"; }
+.bi-images::before { content: "\f42b"; }
+.bi-inbox-fill::before { content: "\f42c"; }
+.bi-inbox::before { content: "\f42d"; }
+.bi-inboxes-fill::before { content: "\f42e"; }
+.bi-inboxes::before { content: "\f42f"; }
+.bi-info-circle-fill::before { content: "\f430"; }
+.bi-info-circle::before { content: "\f431"; }
+.bi-info-square-fill::before { content: "\f432"; }
+.bi-info-square::before { content: "\f433"; }
+.bi-info::before { content: "\f434"; }
+.bi-input-cursor-text::before { content: "\f435"; }
+.bi-input-cursor::before { content: "\f436"; }
+.bi-instagram::before { content: "\f437"; }
+.bi-intersect::before { content: "\f438"; }
+.bi-journal-album::before { content: "\f439"; }
+.bi-journal-arrow-down::before { content: "\f43a"; }
+.bi-journal-arrow-up::before { content: "\f43b"; }
+.bi-journal-bookmark-fill::before { content: "\f43c"; }
+.bi-journal-bookmark::before { content: "\f43d"; }
+.bi-journal-check::before { content: "\f43e"; }
+.bi-journal-code::before { content: "\f43f"; }
+.bi-journal-medical::before { content: "\f440"; }
+.bi-journal-minus::before { content: "\f441"; }
+.bi-journal-plus::before { content: "\f442"; }
+.bi-journal-richtext::before { content: "\f443"; }
+.bi-journal-text::before { content: "\f444"; }
+.bi-journal-x::before { content: "\f445"; }
+.bi-journal::before { content: "\f446"; }
+.bi-journals::before { content: "\f447"; }
+.bi-joystick::before { content: "\f448"; }
+.bi-justify-left::before { content: "\f449"; }
+.bi-justify-right::before { content: "\f44a"; }
+.bi-justify::before { content: "\f44b"; }
+.bi-kanban-fill::before { content: "\f44c"; }
+.bi-kanban::before { content: "\f44d"; }
+.bi-key-fill::before { content: "\f44e"; }
+.bi-key::before { content: "\f44f"; }
+.bi-keyboard-fill::before { content: "\f450"; }
+.bi-keyboard::before { content: "\f451"; }
+.bi-ladder::before { content: "\f452"; }
+.bi-lamp-fill::before { content: "\f453"; }
+.bi-lamp::before { content: "\f454"; }
+.bi-laptop-fill::before { content: "\f455"; }
+.bi-laptop::before { content: "\f456"; }
+.bi-layer-backward::before { content: "\f457"; }
+.bi-layer-forward::before { content: "\f458"; }
+.bi-layers-fill::before { content: "\f459"; }
+.bi-layers-half::before { content: "\f45a"; }
+.bi-layers::before { content: "\f45b"; }
+.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; }
+.bi-layout-sidebar-inset::before { content: "\f45d"; }
+.bi-layout-sidebar-reverse::before { content: "\f45e"; }
+.bi-layout-sidebar::before { content: "\f45f"; }
+.bi-layout-split::before { content: "\f460"; }
+.bi-layout-text-sidebar-reverse::before { content: "\f461"; }
+.bi-layout-text-sidebar::before { content: "\f462"; }
+.bi-layout-text-window-reverse::before { content: "\f463"; }
+.bi-layout-text-window::before { content: "\f464"; }
+.bi-layout-three-columns::before { content: "\f465"; }
+.bi-layout-wtf::before { content: "\f466"; }
+.bi-life-preserver::before { content: "\f467"; }
+.bi-lightbulb-fill::before { content: "\f468"; }
+.bi-lightbulb-off-fill::before { content: "\f469"; }
+.bi-lightbulb-off::before { content: "\f46a"; }
+.bi-lightbulb::before { content: "\f46b"; }
+.bi-lightning-charge-fill::before { content: "\f46c"; }
+.bi-lightning-charge::before { content: "\f46d"; }
+.bi-lightning-fill::before { content: "\f46e"; }
+.bi-lightning::before { content: "\f46f"; }
+.bi-link-45deg::before { content: "\f470"; }
+.bi-link::before { content: "\f471"; }
+.bi-linkedin::before { content: "\f472"; }
+.bi-list-check::before { content: "\f473"; }
+.bi-list-nested::before { content: "\f474"; }
+.bi-list-ol::before { content: "\f475"; }
+.bi-list-stars::before { content: "\f476"; }
+.bi-list-task::before { content: "\f477"; }
+.bi-list-ul::before { content: "\f478"; }
+.bi-list::before { content: "\f479"; }
+.bi-lock-fill::before { content: "\f47a"; }
+.bi-lock::before { content: "\f47b"; }
+.bi-mailbox::before { content: "\f47c"; }
+.bi-mailbox2::before { content: "\f47d"; }
+.bi-map-fill::before { content: "\f47e"; }
+.bi-map::before { content: "\f47f"; }
+.bi-markdown-fill::before { content: "\f480"; }
+.bi-markdown::before { content: "\f481"; }
+.bi-mask::before { content: "\f482"; }
+.bi-megaphone-fill::before { content: "\f483"; }
+.bi-megaphone::before { content: "\f484"; }
+.bi-menu-app-fill::before { content: "\f485"; }
+.bi-menu-app::before { content: "\f486"; }
+.bi-menu-button-fill::before { content: "\f487"; }
+.bi-menu-button-wide-fill::before { content: "\f488"; }
+.bi-menu-button-wide::before { content: "\f489"; }
+.bi-menu-button::before { content: "\f48a"; }
+.bi-menu-down::before { content: "\f48b"; }
+.bi-menu-up::before { content: "\f48c"; }
+.bi-mic-fill::before { content: "\f48d"; }
+.bi-mic-mute-fill::before { content: "\f48e"; }
+.bi-mic-mute::before { content: "\f48f"; }
+.bi-mic::before { content: "\f490"; }
+.bi-minecart-loaded::before { content: "\f491"; }
+.bi-minecart::before { content: "\f492"; }
+.bi-moisture::before { content: "\f493"; }
+.bi-moon-fill::before { content: "\f494"; }
+.bi-moon-stars-fill::before { content: "\f495"; }
+.bi-moon-stars::before { content: "\f496"; }
+.bi-moon::before { content: "\f497"; }
+.bi-mouse-fill::before { content: "\f498"; }
+.bi-mouse::before { content: "\f499"; }
+.bi-mouse2-fill::before { content: "\f49a"; }
+.bi-mouse2::before { content: "\f49b"; }
+.bi-mouse3-fill::before { content: "\f49c"; }
+.bi-mouse3::before { content: "\f49d"; }
+.bi-music-note-beamed::before { content: "\f49e"; }
+.bi-music-note-list::before { content: "\f49f"; }
+.bi-music-note::before { content: "\f4a0"; }
+.bi-music-player-fill::before { content: "\f4a1"; }
+.bi-music-player::before { content: "\f4a2"; }
+.bi-newspaper::before { content: "\f4a3"; }
+.bi-node-minus-fill::before { content: "\f4a4"; }
+.bi-node-minus::before { content: "\f4a5"; }
+.bi-node-plus-fill::before { content: "\f4a6"; }
+.bi-node-plus::before { content: "\f4a7"; }
+.bi-nut-fill::before { content: "\f4a8"; }
+.bi-nut::before { content: "\f4a9"; }
+.bi-octagon-fill::before { content: "\f4aa"; }
+.bi-octagon-half::before { content: "\f4ab"; }
+.bi-octagon::before { content: "\f4ac"; }
+.bi-option::before { content: "\f4ad"; }
+.bi-outlet::before { content: "\f4ae"; }
+.bi-paint-bucket::before { content: "\f4af"; }
+.bi-palette-fill::before { content: "\f4b0"; }
+.bi-palette::before { content: "\f4b1"; }
+.bi-palette2::before { content: "\f4b2"; }
+.bi-paperclip::before { content: "\f4b3"; }
+.bi-paragraph::before { content: "\f4b4"; }
+.bi-patch-check-fill::before { content: "\f4b5"; }
+.bi-patch-check::before { content: "\f4b6"; }
+.bi-patch-exclamation-fill::before { content: "\f4b7"; }
+.bi-patch-exclamation::before { content: "\f4b8"; }
+.bi-patch-minus-fill::before { content: "\f4b9"; }
+.bi-patch-minus::before { content: "\f4ba"; }
+.bi-patch-plus-fill::before { content: "\f4bb"; }
+.bi-patch-plus::before { content: "\f4bc"; }
+.bi-patch-question-fill::before { content: "\f4bd"; }
+.bi-patch-question::before { content: "\f4be"; }
+.bi-pause-btn-fill::before { content: "\f4bf"; }
+.bi-pause-btn::before { content: "\f4c0"; }
+.bi-pause-circle-fill::before { content: "\f4c1"; }
+.bi-pause-circle::before { content: "\f4c2"; }
+.bi-pause-fill::before { content: "\f4c3"; }
+.bi-pause::before { content: "\f4c4"; }
+.bi-peace-fill::before { content: "\f4c5"; }
+.bi-peace::before { content: "\f4c6"; }
+.bi-pen-fill::before { content: "\f4c7"; }
+.bi-pen::before { content: "\f4c8"; }
+.bi-pencil-fill::before { content: "\f4c9"; }
+.bi-pencil-square::before { content: "\f4ca"; }
+.bi-pencil::before { content: "\f4cb"; }
+.bi-pentagon-fill::before { content: "\f4cc"; }
+.bi-pentagon-half::before { content: "\f4cd"; }
+.bi-pentagon::before { content: "\f4ce"; }
+.bi-people-fill::before { content: "\f4cf"; }
+.bi-people::before { content: "\f4d0"; }
+.bi-percent::before { content: "\f4d1"; }
+.bi-person-badge-fill::before { content: "\f4d2"; }
+.bi-person-badge::before { content: "\f4d3"; }
+.bi-person-bounding-box::before { content: "\f4d4"; }
+.bi-person-check-fill::before { content: "\f4d5"; }
+.bi-person-check::before { content: "\f4d6"; }
+.bi-person-circle::before { content: "\f4d7"; }
+.bi-person-dash-fill::before { content: "\f4d8"; }
+.bi-person-dash::before { content: "\f4d9"; }
+.bi-person-fill::before { content: "\f4da"; }
+.bi-person-lines-fill::before { content: "\f4db"; }
+.bi-person-plus-fill::before { content: "\f4dc"; }
+.bi-person-plus::before { content: "\f4dd"; }
+.bi-person-square::before { content: "\f4de"; }
+.bi-person-x-fill::before { content: "\f4df"; }
+.bi-person-x::before { content: "\f4e0"; }
+.bi-person::before { content: "\f4e1"; }
+.bi-phone-fill::before { content: "\f4e2"; }
+.bi-phone-landscape-fill::before { content: "\f4e3"; }
+.bi-phone-landscape::before { content: "\f4e4"; }
+.bi-phone-vibrate-fill::before { content: "\f4e5"; }
+.bi-phone-vibrate::before { content: "\f4e6"; }
+.bi-phone::before { content: "\f4e7"; }
+.bi-pie-chart-fill::before { content: "\f4e8"; }
+.bi-pie-chart::before { content: "\f4e9"; }
+.bi-pin-angle-fill::before { content: "\f4ea"; }
+.bi-pin-angle::before { content: "\f4eb"; }
+.bi-pin-fill::before { content: "\f4ec"; }
+.bi-pin::before { content: "\f4ed"; }
+.bi-pip-fill::before { content: "\f4ee"; }
+.bi-pip::before { content: "\f4ef"; }
+.bi-play-btn-fill::before { content: "\f4f0"; }
+.bi-play-btn::before { content: "\f4f1"; }
+.bi-play-circle-fill::before { content: "\f4f2"; }
+.bi-play-circle::before { content: "\f4f3"; }
+.bi-play-fill::before { content: "\f4f4"; }
+.bi-play::before { content: "\f4f5"; }
+.bi-plug-fill::before { content: "\f4f6"; }
+.bi-plug::before { content: "\f4f7"; }
+.bi-plus-circle-dotted::before { content: "\f4f8"; }
+.bi-plus-circle-fill::before { content: "\f4f9"; }
+.bi-plus-circle::before { content: "\f4fa"; }
+.bi-plus-square-dotted::before { content: "\f4fb"; }
+.bi-plus-square-fill::before { content: "\f4fc"; }
+.bi-plus-square::before { content: "\f4fd"; }
+.bi-plus::before { content: "\f4fe"; }
+.bi-power::before { content: "\f4ff"; }
+.bi-printer-fill::before { content: "\f500"; }
+.bi-printer::before { content: "\f501"; }
+.bi-puzzle-fill::before { content: "\f502"; }
+.bi-puzzle::before { content: "\f503"; }
+.bi-question-circle-fill::before { content: "\f504"; }
+.bi-question-circle::before { content: "\f505"; }
+.bi-question-diamond-fill::before { content: "\f506"; }
+.bi-question-diamond::before { content: "\f507"; }
+.bi-question-octagon-fill::before { content: "\f508"; }
+.bi-question-octagon::before { content: "\f509"; }
+.bi-question-square-fill::before { content: "\f50a"; }
+.bi-question-square::before { content: "\f50b"; }
+.bi-question::before { content: "\f50c"; }
+.bi-rainbow::before { content: "\f50d"; }
+.bi-receipt-cutoff::before { content: "\f50e"; }
+.bi-receipt::before { content: "\f50f"; }
+.bi-reception-0::before { content: "\f510"; }
+.bi-reception-1::before { content: "\f511"; }
+.bi-reception-2::before { content: "\f512"; }
+.bi-reception-3::before { content: "\f513"; }
+.bi-reception-4::before { content: "\f514"; }
+.bi-record-btn-fill::before { content: "\f515"; }
+.bi-record-btn::before { content: "\f516"; }
+.bi-record-circle-fill::before { content: "\f517"; }
+.bi-record-circle::before { content: "\f518"; }
+.bi-record-fill::before { content: "\f519"; }
+.bi-record::before { content: "\f51a"; }
+.bi-record2-fill::before { content: "\f51b"; }
+.bi-record2::before { content: "\f51c"; }
+.bi-reply-all-fill::before { content: "\f51d"; }
+.bi-reply-all::before { content: "\f51e"; }
+.bi-reply-fill::before { content: "\f51f"; }
+.bi-reply::before { content: "\f520"; }
+.bi-rss-fill::before { content: "\f521"; }
+.bi-rss::before { content: "\f522"; }
+.bi-rulers::before { content: "\f523"; }
+.bi-save-fill::before { content: "\f524"; }
+.bi-save::before { content: "\f525"; }
+.bi-save2-fill::before { content: "\f526"; }
+.bi-save2::before { content: "\f527"; }
+.bi-scissors::before { content: "\f528"; }
+.bi-screwdriver::before { content: "\f529"; }
+.bi-search::before { content: "\f52a"; }
+.bi-segmented-nav::before { content: "\f52b"; }
+.bi-server::before { content: "\f52c"; }
+.bi-share-fill::before { content: "\f52d"; }
+.bi-share::before { content: "\f52e"; }
+.bi-shield-check::before { content: "\f52f"; }
+.bi-shield-exclamation::before { content: "\f530"; }
+.bi-shield-fill-check::before { content: "\f531"; }
+.bi-shield-fill-exclamation::before { content: "\f532"; }
+.bi-shield-fill-minus::before { content: "\f533"; }
+.bi-shield-fill-plus::before { content: "\f534"; }
+.bi-shield-fill-x::before { content: "\f535"; }
+.bi-shield-fill::before { content: "\f536"; }
+.bi-shield-lock-fill::before { content: "\f537"; }
+.bi-shield-lock::before { content: "\f538"; }
+.bi-shield-minus::before { content: "\f539"; }
+.bi-shield-plus::before { content: "\f53a"; }
+.bi-shield-shaded::before { content: "\f53b"; }
+.bi-shield-slash-fill::before { content: "\f53c"; }
+.bi-shield-slash::before { content: "\f53d"; }
+.bi-shield-x::before { content: "\f53e"; }
+.bi-shield::before { content: "\f53f"; }
+.bi-shift-fill::before { content: "\f540"; }
+.bi-shift::before { content: "\f541"; }
+.bi-shop-window::before { content: "\f542"; }
+.bi-shop::before { content: "\f543"; }
+.bi-shuffle::before { content: "\f544"; }
+.bi-signpost-2-fill::before { content: "\f545"; }
+.bi-signpost-2::before { content: "\f546"; }
+.bi-signpost-fill::before { content: "\f547"; }
+.bi-signpost-split-fill::before { content: "\f548"; }
+.bi-signpost-split::before { content: "\f549"; }
+.bi-signpost::before { content: "\f54a"; }
+.bi-sim-fill::before { content: "\f54b"; }
+.bi-sim::before { content: "\f54c"; }
+.bi-skip-backward-btn-fill::before { content: "\f54d"; }
+.bi-skip-backward-btn::before { content: "\f54e"; }
+.bi-skip-backward-circle-fill::before { content: "\f54f"; }
+.bi-skip-backward-circle::before { content: "\f550"; }
+.bi-skip-backward-fill::before { content: "\f551"; }
+.bi-skip-backward::before { content: "\f552"; }
+.bi-skip-end-btn-fill::before { content: "\f553"; }
+.bi-skip-end-btn::before { content: "\f554"; }
+.bi-skip-end-circle-fill::before { content: "\f555"; }
+.bi-skip-end-circle::before { content: "\f556"; }
+.bi-skip-end-fill::before { content: "\f557"; }
+.bi-skip-end::before { content: "\f558"; }
+.bi-skip-forward-btn-fill::before { content: "\f559"; }
+.bi-skip-forward-btn::before { content: "\f55a"; }
+.bi-skip-forward-circle-fill::before { content: "\f55b"; }
+.bi-skip-forward-circle::before { content: "\f55c"; }
+.bi-skip-forward-fill::before { content: "\f55d"; }
+.bi-skip-forward::before { content: "\f55e"; }
+.bi-skip-start-btn-fill::before { content: "\f55f"; }
+.bi-skip-start-btn::before { content: "\f560"; }
+.bi-skip-start-circle-fill::before { content: "\f561"; }
+.bi-skip-start-circle::before { content: "\f562"; }
+.bi-skip-start-fill::before { content: "\f563"; }
+.bi-skip-start::before { content: "\f564"; }
+.bi-slack::before { content: "\f565"; }
+.bi-slash-circle-fill::before { content: "\f566"; }
+.bi-slash-circle::before { content: "\f567"; }
+.bi-slash-square-fill::before { content: "\f568"; }
+.bi-slash-square::before { content: "\f569"; }
+.bi-slash::before { content: "\f56a"; }
+.bi-sliders::before { content: "\f56b"; }
+.bi-smartwatch::before { content: "\f56c"; }
+.bi-snow::before { content: "\f56d"; }
+.bi-snow2::before { content: "\f56e"; }
+.bi-snow3::before { content: "\f56f"; }
+.bi-sort-alpha-down-alt::before { content: "\f570"; }
+.bi-sort-alpha-down::before { content: "\f571"; }
+.bi-sort-alpha-up-alt::before { content: "\f572"; }
+.bi-sort-alpha-up::before { content: "\f573"; }
+.bi-sort-down-alt::before { content: "\f574"; }
+.bi-sort-down::before { content: "\f575"; }
+.bi-sort-numeric-down-alt::before { content: "\f576"; }
+.bi-sort-numeric-down::before { content: "\f577"; }
+.bi-sort-numeric-up-alt::before { content: "\f578"; }
+.bi-sort-numeric-up::before { content: "\f579"; }
+.bi-sort-up-alt::before { content: "\f57a"; }
+.bi-sort-up::before { content: "\f57b"; }
+.bi-soundwave::before { content: "\f57c"; }
+.bi-speaker-fill::before { content: "\f57d"; }
+.bi-speaker::before { content: "\f57e"; }
+.bi-speedometer::before { content: "\f57f"; }
+.bi-speedometer2::before { content: "\f580"; }
+.bi-spellcheck::before { content: "\f581"; }
+.bi-square-fill::before { content: "\f582"; }
+.bi-square-half::before { content: "\f583"; }
+.bi-square::before { content: "\f584"; }
+.bi-stack::before { content: "\f585"; }
+.bi-star-fill::before { content: "\f586"; }
+.bi-star-half::before { content: "\f587"; }
+.bi-star::before { content: "\f588"; }
+.bi-stars::before { content: "\f589"; }
+.bi-stickies-fill::before { content: "\f58a"; }
+.bi-stickies::before { content: "\f58b"; }
+.bi-sticky-fill::before { content: "\f58c"; }
+.bi-sticky::before { content: "\f58d"; }
+.bi-stop-btn-fill::before { content: "\f58e"; }
+.bi-stop-btn::before { content: "\f58f"; }
+.bi-stop-circle-fill::before { content: "\f590"; }
+.bi-stop-circle::before { content: "\f591"; }
+.bi-stop-fill::before { content: "\f592"; }
+.bi-stop::before { content: "\f593"; }
+.bi-stoplights-fill::before { content: "\f594"; }
+.bi-stoplights::before { content: "\f595"; }
+.bi-stopwatch-fill::before { content: "\f596"; }
+.bi-stopwatch::before { content: "\f597"; }
+.bi-subtract::before { content: "\f598"; }
+.bi-suit-club-fill::before { content: "\f599"; }
+.bi-suit-club::before { content: "\f59a"; }
+.bi-suit-diamond-fill::before { content: "\f59b"; }
+.bi-suit-diamond::before { content: "\f59c"; }
+.bi-suit-heart-fill::before { content: "\f59d"; }
+.bi-suit-heart::before { content: "\f59e"; }
+.bi-suit-spade-fill::before { content: "\f59f"; }
+.bi-suit-spade::before { content: "\f5a0"; }
+.bi-sun-fill::before { content: "\f5a1"; }
+.bi-sun::before { content: "\f5a2"; }
+.bi-sunglasses::before { content: "\f5a3"; }
+.bi-sunrise-fill::before { content: "\f5a4"; }
+.bi-sunrise::before { content: "\f5a5"; }
+.bi-sunset-fill::before { content: "\f5a6"; }
+.bi-sunset::before { content: "\f5a7"; }
+.bi-symmetry-horizontal::before { content: "\f5a8"; }
+.bi-symmetry-vertical::before { content: "\f5a9"; }
+.bi-table::before { content: "\f5aa"; }
+.bi-tablet-fill::before { content: "\f5ab"; }
+.bi-tablet-landscape-fill::before { content: "\f5ac"; }
+.bi-tablet-landscape::before { content: "\f5ad"; }
+.bi-tablet::before { content: "\f5ae"; }
+.bi-tag-fill::before { content: "\f5af"; }
+.bi-tag::before { content: "\f5b0"; }
+.bi-tags-fill::before { content: "\f5b1"; }
+.bi-tags::before { content: "\f5b2"; }
+.bi-telegram::before { content: "\f5b3"; }
+.bi-telephone-fill::before { content: "\f5b4"; }
+.bi-telephone-forward-fill::before { content: "\f5b5"; }
+.bi-telephone-forward::before { content: "\f5b6"; }
+.bi-telephone-inbound-fill::before { content: "\f5b7"; }
+.bi-telephone-inbound::before { content: "\f5b8"; }
+.bi-telephone-minus-fill::before { content: "\f5b9"; }
+.bi-telephone-minus::before { content: "\f5ba"; }
+.bi-telephone-outbound-fill::before { content: "\f5bb"; }
+.bi-telephone-outbound::before { content: "\f5bc"; }
+.bi-telephone-plus-fill::before { content: "\f5bd"; }
+.bi-telephone-plus::before { content: "\f5be"; }
+.bi-telephone-x-fill::before { content: "\f5bf"; }
+.bi-telephone-x::before { content: "\f5c0"; }
+.bi-telephone::before { content: "\f5c1"; }
+.bi-terminal-fill::before { content: "\f5c2"; }
+.bi-terminal::before { content: "\f5c3"; }
+.bi-text-center::before { content: "\f5c4"; }
+.bi-text-indent-left::before { content: "\f5c5"; }
+.bi-text-indent-right::before { content: "\f5c6"; }
+.bi-text-left::before { content: "\f5c7"; }
+.bi-text-paragraph::before { content: "\f5c8"; }
+.bi-text-right::before { content: "\f5c9"; }
+.bi-textarea-resize::before { content: "\f5ca"; }
+.bi-textarea-t::before { content: "\f5cb"; }
+.bi-textarea::before { content: "\f5cc"; }
+.bi-thermometer-half::before { content: "\f5cd"; }
+.bi-thermometer-high::before { content: "\f5ce"; }
+.bi-thermometer-low::before { content: "\f5cf"; }
+.bi-thermometer-snow::before { content: "\f5d0"; }
+.bi-thermometer-sun::before { content: "\f5d1"; }
+.bi-thermometer::before { content: "\f5d2"; }
+.bi-three-dots-vertical::before { content: "\f5d3"; }
+.bi-three-dots::before { content: "\f5d4"; }
+.bi-toggle-off::before { content: "\f5d5"; }
+.bi-toggle-on::before { content: "\f5d6"; }
+.bi-toggle2-off::before { content: "\f5d7"; }
+.bi-toggle2-on::before { content: "\f5d8"; }
+.bi-toggles::before { content: "\f5d9"; }
+.bi-toggles2::before { content: "\f5da"; }
+.bi-tools::before { content: "\f5db"; }
+.bi-tornado::before { content: "\f5dc"; }
+.bi-trash-fill::before { content: "\f5dd"; }
+.bi-trash::before { content: "\f5de"; }
+.bi-trash2-fill::before { content: "\f5df"; }
+.bi-trash2::before { content: "\f5e0"; }
+.bi-tree-fill::before { content: "\f5e1"; }
+.bi-tree::before { content: "\f5e2"; }
+.bi-triangle-fill::before { content: "\f5e3"; }
+.bi-triangle-half::before { content: "\f5e4"; }
+.bi-triangle::before { content: "\f5e5"; }
+.bi-trophy-fill::before { content: "\f5e6"; }
+.bi-trophy::before { content: "\f5e7"; }
+.bi-tropical-storm::before { content: "\f5e8"; }
+.bi-truck-flatbed::before { content: "\f5e9"; }
+.bi-truck::before { content: "\f5ea"; }
+.bi-tsunami::before { content: "\f5eb"; }
+.bi-tv-fill::before { content: "\f5ec"; }
+.bi-tv::before { content: "\f5ed"; }
+.bi-twitch::before { content: "\f5ee"; }
+.bi-twitter::before { content: "\f5ef"; }
+.bi-type-bold::before { content: "\f5f0"; }
+.bi-type-h1::before { content: "\f5f1"; }
+.bi-type-h2::before { content: "\f5f2"; }
+.bi-type-h3::before { content: "\f5f3"; }
+.bi-type-italic::before { content: "\f5f4"; }
+.bi-type-strikethrough::before { content: "\f5f5"; }
+.bi-type-underline::before { content: "\f5f6"; }
+.bi-type::before { content: "\f5f7"; }
+.bi-ui-checks-grid::before { content: "\f5f8"; }
+.bi-ui-checks::before { content: "\f5f9"; }
+.bi-ui-radios-grid::before { content: "\f5fa"; }
+.bi-ui-radios::before { content: "\f5fb"; }
+.bi-umbrella-fill::before { content: "\f5fc"; }
+.bi-umbrella::before { content: "\f5fd"; }
+.bi-union::before { content: "\f5fe"; }
+.bi-unlock-fill::before { content: "\f5ff"; }
+.bi-unlock::before { content: "\f600"; }
+.bi-upc-scan::before { content: "\f601"; }
+.bi-upc::before { content: "\f602"; }
+.bi-upload::before { content: "\f603"; }
+.bi-vector-pen::before { content: "\f604"; }
+.bi-view-list::before { content: "\f605"; }
+.bi-view-stacked::before { content: "\f606"; }
+.bi-vinyl-fill::before { content: "\f607"; }
+.bi-vinyl::before { content: "\f608"; }
+.bi-voicemail::before { content: "\f609"; }
+.bi-volume-down-fill::before { content: "\f60a"; }
+.bi-volume-down::before { content: "\f60b"; }
+.bi-volume-mute-fill::before { content: "\f60c"; }
+.bi-volume-mute::before { content: "\f60d"; }
+.bi-volume-off-fill::before { content: "\f60e"; }
+.bi-volume-off::before { content: "\f60f"; }
+.bi-volume-up-fill::before { content: "\f610"; }
+.bi-volume-up::before { content: "\f611"; }
+.bi-vr::before { content: "\f612"; }
+.bi-wallet-fill::before { content: "\f613"; }
+.bi-wallet::before { content: "\f614"; }
+.bi-wallet2::before { content: "\f615"; }
+.bi-watch::before { content: "\f616"; }
+.bi-water::before { content: "\f617"; }
+.bi-whatsapp::before { content: "\f618"; }
+.bi-wifi-1::before { content: "\f619"; }
+.bi-wifi-2::before { content: "\f61a"; }
+.bi-wifi-off::before { content: "\f61b"; }
+.bi-wifi::before { content: "\f61c"; }
+.bi-wind::before { content: "\f61d"; }
+.bi-window-dock::before { content: "\f61e"; }
+.bi-window-sidebar::before { content: "\f61f"; }
+.bi-window::before { content: "\f620"; }
+.bi-wrench::before { content: "\f621"; }
+.bi-x-circle-fill::before { content: "\f622"; }
+.bi-x-circle::before { content: "\f623"; }
+.bi-x-diamond-fill::before { content: "\f624"; }
+.bi-x-diamond::before { content: "\f625"; }
+.bi-x-octagon-fill::before { content: "\f626"; }
+.bi-x-octagon::before { content: "\f627"; }
+.bi-x-square-fill::before { content: "\f628"; }
+.bi-x-square::before { content: "\f629"; }
+.bi-x::before { content: "\f62a"; }
+.bi-youtube::before { content: "\f62b"; }
+.bi-zoom-in::before { content: "\f62c"; }
+.bi-zoom-out::before { content: "\f62d"; }
+.bi-bank::before { content: "\f62e"; }
+.bi-bank2::before { content: "\f62f"; }
+.bi-bell-slash-fill::before { content: "\f630"; }
+.bi-bell-slash::before { content: "\f631"; }
+.bi-cash-coin::before { content: "\f632"; }
+.bi-check-lg::before { content: "\f633"; }
+.bi-coin::before { content: "\f634"; }
+.bi-currency-bitcoin::before { content: "\f635"; }
+.bi-currency-dollar::before { content: "\f636"; }
+.bi-currency-euro::before { content: "\f637"; }
+.bi-currency-exchange::before { content: "\f638"; }
+.bi-currency-pound::before { content: "\f639"; }
+.bi-currency-yen::before { content: "\f63a"; }
+.bi-dash-lg::before { content: "\f63b"; }
+.bi-exclamation-lg::before { content: "\f63c"; }
+.bi-file-earmark-pdf-fill::before { content: "\f63d"; }
+.bi-file-earmark-pdf::before { content: "\f63e"; }
+.bi-file-pdf-fill::before { content: "\f63f"; }
+.bi-file-pdf::before { content: "\f640"; }
+.bi-gender-ambiguous::before { content: "\f641"; }
+.bi-gender-female::before { content: "\f642"; }
+.bi-gender-male::before { content: "\f643"; }
+.bi-gender-trans::before { content: "\f644"; }
+.bi-headset-vr::before { content: "\f645"; }
+.bi-info-lg::before { content: "\f646"; }
+.bi-mastodon::before { content: "\f647"; }
+.bi-messenger::before { content: "\f648"; }
+.bi-piggy-bank-fill::before { content: "\f649"; }
+.bi-piggy-bank::before { content: "\f64a"; }
+.bi-pin-map-fill::before { content: "\f64b"; }
+.bi-pin-map::before { content: "\f64c"; }
+.bi-plus-lg::before { content: "\f64d"; }
+.bi-question-lg::before { content: "\f64e"; }
+.bi-recycle::before { content: "\f64f"; }
+.bi-reddit::before { content: "\f650"; }
+.bi-safe-fill::before { content: "\f651"; }
+.bi-safe2-fill::before { content: "\f652"; }
+.bi-safe2::before { content: "\f653"; }
+.bi-sd-card-fill::before { content: "\f654"; }
+.bi-sd-card::before { content: "\f655"; }
+.bi-skype::before { content: "\f656"; }
+.bi-slash-lg::before { content: "\f657"; }
+.bi-translate::before { content: "\f658"; }
+.bi-x-lg::before { content: "\f659"; }
+.bi-safe::before { content: "\f65a"; }
diff --git a/nginx/landingpage/css/google-fonts.css b/nginx/landingpage/css/google-fonts.css
new file mode 100644
index 000000000..49a28fd7a
--- /dev/null
+++ b/nginx/landingpage/css/google-fonts.css
@@ -0,0 +1,36 @@
+@font-face {
+  font-family: 'Lato';
+  font-style: italic;
+  font-weight: 300;
+  src: url(S6u_w4BMUTPHjxsI9w2_Gwfo.ttf) format('truetype');
+}
+@font-face {
+  font-family: 'Lato';
+  font-style: italic;
+  font-weight: 400;
+  src: url(S6u8w4BMUTPHjxsAXC-v.ttf) format('truetype');
+}
+@font-face {
+  font-family: 'Lato';
+  font-style: italic;
+  font-weight: 700;
+  src: url(S6u_w4BMUTPHjxsI5wq_Gwfo.ttf) format('truetype');
+}
+@font-face {
+  font-family: 'Lato';
+  font-style: normal;
+  font-weight: 300;
+  src: url(S6u9w4BMUTPHh7USSwiPHA.ttf) format('truetype');
+}
+@font-face {
+  font-family: 'Lato';
+  font-style: normal;
+  font-weight: 400;
+  src: url(S6uyw4BMUTPHjx4wWw.ttf) format('truetype');
+}
+@font-face {
+  font-family: 'Lato';
+  font-style: normal;
+  font-weight: 700;
+  src: url(S6u9w4BMUTPHh6UVSwiPHA.ttf) format('truetype');
+}
diff --git a/nginx/landingpage/css/styles.css b/nginx/landingpage/css/styles.css
new file mode 100644
index 000000000..27c764bdc
--- /dev/null
+++ b/nginx/landingpage/css/styles.css
@@ -0,0 +1,10919 @@
+@charset "UTF-8";
+/*!
+* Start Bootstrap - Landing Page v6.0.6 (https://startbootstrap.com/theme/landing-page)
+* Copyright 2013-2023 Start Bootstrap
+* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-landing-page/blob/master/LICENSE)
+*/
+/*!
+ * Bootstrap  v5.2.3 (https://getbootstrap.com/)
+ * Copyright 2011-2022 The Bootstrap Authors
+ * Copyright 2011-2022 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+:root {
+  --bs-blue: #0d6efd;
+  --bs-indigo: #6610f2;
+  --bs-purple: #6f42c1;
+  --bs-pink: #d63384;
+  --bs-red: #dc3545;
+  --bs-orange: #fd7e14;
+  --bs-yellow: #ffc107;
+  --bs-green: #198754;
+  --bs-teal: #20c997;
+  --bs-cyan: #0dcaf0;
+  --bs-black: #000;
+  --bs-white: #fff;
+  --bs-gray: #6c757d;
+  --bs-gray-dark: #343a40;
+  --bs-gray-100: #f8f9fa;
+  --bs-gray-200: #e9ecef;
+  --bs-gray-300: #dee2e6;
+  --bs-gray-400: #ced4da;
+  --bs-gray-500: #adb5bd;
+  --bs-gray-600: #6c757d;
+  --bs-gray-700: #495057;
+  --bs-gray-800: #343a40;
+  --bs-gray-900: #212529;
+  --bs-primary: #0d6efd;
+  --bs-secondary: #6c757d;
+  --bs-success: #198754;
+  --bs-info: #0dcaf0;
+  --bs-warning: #ffc107;
+  --bs-danger: #dc3545;
+  --bs-light: #f8f9fa;
+  --bs-dark: #212529;
+  --bs-primary-rgb: 13, 110, 253;
+  --bs-secondary-rgb: 108, 117, 125;
+  --bs-success-rgb: 25, 135, 84;
+  --bs-info-rgb: 13, 202, 240;
+  --bs-warning-rgb: 255, 193, 7;
+  --bs-danger-rgb: 220, 53, 69;
+  --bs-light-rgb: 248, 249, 250;
+  --bs-dark-rgb: 33, 37, 41;
+  --bs-white-rgb: 255, 255, 255;
+  --bs-black-rgb: 0, 0, 0;
+  --bs-body-color-rgb: 33, 37, 41;
+  --bs-body-bg-rgb: 255, 255, 255;
+  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
+  --bs-body-font-family: Lato, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
+  --bs-body-font-size: 1rem;
+  --bs-body-font-weight: 400;
+  --bs-body-line-height: 1.5;
+  --bs-body-color: #212529;
+  --bs-body-bg: #fff;
+  --bs-border-width: 1px;
+  --bs-border-style: solid;
+  --bs-border-color: #dee2e6;
+  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
+  --bs-border-radius: 0.375rem;
+  --bs-border-radius-sm: 0.25rem;
+  --bs-border-radius-lg: 0.5rem;
+  --bs-border-radius-xl: 1rem;
+  --bs-border-radius-2xl: 2rem;
+  --bs-border-radius-pill: 50rem;
+  --bs-link-color: #0d6efd;
+  --bs-link-hover-color: #0a58ca;
+  --bs-code-color: #d63384;
+  --bs-highlight-bg: #fff3cd;
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+}
+
+@media (prefers-reduced-motion: no-preference) {
+  :root {
+    scroll-behavior: smooth;
+  }
+}
+
+body {
+  margin: 0;
+  font-family: var(--bs-body-font-family);
+  font-size: var(--bs-body-font-size);
+  font-weight: var(--bs-body-font-weight);
+  line-height: var(--bs-body-line-height);
+  color: var(--bs-body-color);
+  text-align: var(--bs-body-text-align);
+  background-color: var(--bs-body-bg);
+  -webkit-text-size-adjust: 100%;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+hr {
+  margin: 1rem 0;
+  color: inherit;
+  border: 0;
+  border-top: 1px solid;
+  opacity: 0.25;
+}
+
+h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+  font-weight: 700;
+  line-height: 1.2;
+}
+
+h1, .h1 {
+  font-size: calc(1.375rem + 1.5vw);
+}
+@media (min-width: 1200px) {
+  h1, .h1 {
+    font-size: 2.5rem;
+  }
+}
+
+h2, .h2 {
+  font-size: calc(1.325rem + 0.9vw);
+}
+@media (min-width: 1200px) {
+  h2, .h2 {
+    font-size: 2rem;
+  }
+}
+
+h3, .h3 {
+  font-size: calc(1.3rem + 0.6vw);
+}
+@media (min-width: 1200px) {
+  h3, .h3 {
+    font-size: 1.75rem;
+  }
+}
+
+h4, .h4 {
+  font-size: calc(1.275rem + 0.3vw);
+}
+@media (min-width: 1200px) {
+  h4, .h4 {
+    font-size: 1.5rem;
+  }
+}
+
+h5, .h5 {
+  font-size: 1.25rem;
+}
+
+h6, .h6 {
+  font-size: 1rem;
+}
+
+p {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+abbr[title] {
+  -webkit-text-decoration: underline dotted;
+          text-decoration: underline dotted;
+  cursor: help;
+  -webkit-text-decoration-skip-ink: none;
+          text-decoration-skip-ink: none;
+}
+
+address {
+  margin-bottom: 1rem;
+  font-style: normal;
+  line-height: inherit;
+}
+
+ol,
+ul {
+  padding-left: 2rem;
+}
+
+ol,
+ul,
+dl {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+  margin-bottom: 0;
+}
+
+dt {
+  font-weight: 700;
+}
+
+dd {
+  margin-bottom: 0.5rem;
+  margin-left: 0;
+}
+
+blockquote {
+  margin: 0 0 1rem;
+}
+
+b,
+strong {
+  font-weight: bolder;
+}
+
+small, .small {
+  font-size: 0.875em;
+}
+
+mark, .mark {
+  padding: 0.1875em;
+  background-color: var(--bs-highlight-bg);
+}
+
+sub,
+sup {
+  position: relative;
+  font-size: 0.75em;
+  line-height: 0;
+  vertical-align: baseline;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+sup {
+  top: -0.5em;
+}
+
+a {
+  color: var(--bs-link-hover-color);
+  text-decoration: none;
+}
+a:hover {
+  color: var(--bs-link-color);
+}
+
+a:not([href]):not([class]), a:not([href]):not([class]):hover {
+  color: inherit;
+  text-decoration: none;
+}
+
+pre,
+code,
+kbd,
+samp {
+  font-family: var(--bs-font-monospace);
+  font-size: 1em;
+}
+
+pre {
+  display: block;
+  margin-top: 0;
+  margin-bottom: 1rem;
+  overflow: auto;
+  font-size: 0.875em;
+}
+pre code {
+  font-size: inherit;
+  color: inherit;
+  word-break: normal;
+}
+
+code {
+  font-size: 0.875em;
+  color: var(--bs-code-color);
+  word-wrap: break-word;
+}
+a > code {
+  color: inherit;
+}
+
+kbd {
+  padding: 0.1875rem 0.375rem;
+  font-size: 0.875em;
+  color: var(--bs-body-bg);
+  background-color: var(--bs-body-color);
+  border-radius: 0.25rem;
+}
+kbd kbd {
+  padding: 0;
+  font-size: 1em;
+}
+
+figure {
+  margin: 0 0 1rem;
+}
+
+img,
+svg {
+  vertical-align: middle;
+}
+
+table {
+  caption-side: bottom;
+  border-collapse: collapse;
+}
+
+caption {
+  padding-top: 0.5rem;
+  padding-bottom: 0.5rem;
+  color: #6c757d;
+  text-align: left;
+}
+
+th {
+  text-align: inherit;
+  text-align: -webkit-match-parent;
+}
+
+thead,
+tbody,
+tfoot,
+tr,
+td,
+th {
+  border-color: inherit;
+  border-style: solid;
+  border-width: 0;
+}
+
+label {
+  display: inline-block;
+}
+
+button {
+  border-radius: 0;
+}
+
+button:focus:not(:focus-visible) {
+  outline: 0;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+  margin: 0;
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+
+button,
+select {
+  text-transform: none;
+}
+
+[role=button] {
+  cursor: pointer;
+}
+
+select {
+  word-wrap: normal;
+}
+select:disabled {
+  opacity: 1;
+}
+
+[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
+  display: none !important;
+}
+
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+  -webkit-appearance: button;
+}
+button:not(:disabled),
+[type=button]:not(:disabled),
+[type=reset]:not(:disabled),
+[type=submit]:not(:disabled) {
+  cursor: pointer;
+}
+
+::-moz-focus-inner {
+  padding: 0;
+  border-style: none;
+}
+
+textarea {
+  resize: vertical;
+}
+
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+
+legend {
+  float: left;
+  width: 100%;
+  padding: 0;
+  margin-bottom: 0.5rem;
+  font-size: calc(1.275rem + 0.3vw);
+  line-height: inherit;
+}
+@media (min-width: 1200px) {
+  legend {
+    font-size: 1.5rem;
+  }
+}
+legend + * {
+  clear: left;
+}
+
+::-webkit-datetime-edit-fields-wrapper,
+::-webkit-datetime-edit-text,
+::-webkit-datetime-edit-minute,
+::-webkit-datetime-edit-hour-field,
+::-webkit-datetime-edit-day-field,
+::-webkit-datetime-edit-month-field,
+::-webkit-datetime-edit-year-field {
+  padding: 0;
+}
+
+::-webkit-inner-spin-button {
+  height: auto;
+}
+
+[type=search] {
+  outline-offset: -2px;
+  -webkit-appearance: textfield;
+}
+
+/* rtl:raw:
+[type="tel"],
+[type="url"],
+[type="email"],
+[type="number"] {
+  direction: ltr;
+}
+*/
+::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+::-webkit-color-swatch-wrapper {
+  padding: 0;
+}
+
+::file-selector-button {
+  font: inherit;
+  -webkit-appearance: button;
+}
+
+output {
+  display: inline-block;
+}
+
+iframe {
+  border: 0;
+}
+
+summary {
+  display: list-item;
+  cursor: pointer;
+}
+
+progress {
+  vertical-align: baseline;
+}
+
+[hidden] {
+  display: none !important;
+}
+
+.lead {
+  font-size: 1.25rem;
+  font-weight: 300;
+}
+
+.display-1 {
+  font-size: calc(1.625rem + 4.5vw);
+  font-weight: 300;
+  line-height: 1.2;
+}
+@media (min-width: 1200px) {
+  .display-1 {
+    font-size: 5rem;
+  }
+}
+
+.display-2 {
+  font-size: calc(1.575rem + 3.9vw);
+  font-weight: 300;
+  line-height: 1.2;
+}
+@media (min-width: 1200px) {
+  .display-2 {
+    font-size: 4.5rem;
+  }
+}
+
+.display-3 {
+  font-size: calc(1.525rem + 3.3vw);
+  font-weight: 300;
+  line-height: 1.2;
+}
+@media (min-width: 1200px) {
+  .display-3 {
+    font-size: 4rem;
+  }
+}
+
+.display-4 {
+  font-size: calc(1.475rem + 2.7vw);
+  font-weight: 300;
+  line-height: 1.2;
+}
+@media (min-width: 1200px) {
+  .display-4 {
+    font-size: 3.5rem;
+  }
+}
+
+.display-5 {
+  font-size: calc(1.425rem + 2.1vw);
+  font-weight: 300;
+  line-height: 1.2;
+}
+@media (min-width: 1200px) {
+  .display-5 {
+    font-size: 3rem;
+  }
+}
+
+.display-6 {
+  font-size: calc(1.375rem + 1.5vw);
+  font-weight: 300;
+  line-height: 1.2;
+}
+@media (min-width: 1200px) {
+  .display-6 {
+    font-size: 2.5rem;
+  }
+}
+
+.list-unstyled {
+  padding-left: 0;
+  list-style: none;
+}
+
+.list-inline {
+  padding-left: 0;
+  list-style: none;
+}
+
+.list-inline-item {
+  display: inline-block;
+}
+.list-inline-item:not(:last-child) {
+  margin-right: 0.5rem;
+}
+
+.initialism {
+  font-size: 0.875em;
+  text-transform: uppercase;
+}
+
+.blockquote {
+  margin-bottom: 1rem;
+  font-size: 1.25rem;
+}
+.blockquote > :last-child {
+  margin-bottom: 0;
+}
+
+.blockquote-footer {
+  margin-top: -1rem;
+  margin-bottom: 1rem;
+  font-size: 0.875em;
+  color: #6c757d;
+}
+.blockquote-footer::before {
+  content: "— ";
+}
+
+.img-fluid {
+  max-width: 100%;
+  height: auto;
+}
+
+.img-thumbnail {
+  padding: 0.25rem;
+  background-color: #fff;
+  border: 1px solid var(--bs-border-color);
+  border-radius: 0.375rem;
+  max-width: 100%;
+  height: auto;
+}
+
+.figure {
+  display: inline-block;
+}
+
+.figure-img {
+  margin-bottom: 0.5rem;
+  line-height: 1;
+}
+
+.figure-caption {
+  font-size: 0.875em;
+  color: #6c757d;
+}
+
+.container,
+.container-fluid,
+.container-xxl,
+.container-xl,
+.container-lg,
+.container-md,
+.container-sm {
+  --bs-gutter-x: 1.5rem;
+  --bs-gutter-y: 0;
+  width: 100%;
+  padding-right: calc(var(--bs-gutter-x) * 0.5);
+  padding-left: calc(var(--bs-gutter-x) * 0.5);
+  margin-right: auto;
+  margin-left: auto;
+}
+
+@media (min-width: 576px) {
+  .container-sm, .container {
+    max-width: 540px;
+  }
+}
+@media (min-width: 768px) {
+  .container-md, .container-sm, .container {
+    max-width: 720px;
+  }
+}
+@media (min-width: 992px) {
+  .container-lg, .container-md, .container-sm, .container {
+    max-width: 960px;
+  }
+}
+@media (min-width: 1200px) {
+  .container-xl, .container-lg, .container-md, .container-sm, .container {
+    max-width: 1140px;
+  }
+}
+@media (min-width: 1400px) {
+  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+    max-width: 1320px;
+  }
+}
+.row {
+  --bs-gutter-x: 1.5rem;
+  --bs-gutter-y: 0;
+  display: flex;
+  flex-wrap: wrap;
+  margin-top: calc(-1 * var(--bs-gutter-y));
+  margin-right: calc(-0.5 * var(--bs-gutter-x));
+  margin-left: calc(-0.5 * var(--bs-gutter-x));
+}
+.row > * {
+  flex-shrink: 0;
+  width: 100%;
+  max-width: 100%;
+  padding-right: calc(var(--bs-gutter-x) * 0.5);
+  padding-left: calc(var(--bs-gutter-x) * 0.5);
+  margin-top: var(--bs-gutter-y);
+}
+
+.col {
+  flex: 1 0 0%;
+}
+
+.row-cols-auto > * {
+  flex: 0 0 auto;
+  width: auto;
+}
+
+.row-cols-1 > * {
+  flex: 0 0 auto;
+  width: 100%;
+}
+
+.row-cols-2 > * {
+  flex: 0 0 auto;
+  width: 50%;
+}
+
+.row-cols-3 > * {
+  flex: 0 0 auto;
+  width: 33.3333333333%;
+}
+
+.row-cols-4 > * {
+  flex: 0 0 auto;
+  width: 25%;
+}
+
+.row-cols-5 > * {
+  flex: 0 0 auto;
+  width: 20%;
+}
+
+.row-cols-6 > * {
+  flex: 0 0 auto;
+  width: 16.6666666667%;
+}
+
+.col-auto {
+  flex: 0 0 auto;
+  width: auto;
+}
+
+.col-1 {
+  flex: 0 0 auto;
+  width: 8.33333333%;
+}
+
+.col-2 {
+  flex: 0 0 auto;
+  width: 16.66666667%;
+}
+
+.col-3 {
+  flex: 0 0 auto;
+  width: 25%;
+}
+
+.col-4 {
+  flex: 0 0 auto;
+  width: 33.33333333%;
+}
+
+.col-5 {
+  flex: 0 0 auto;
+  width: 41.66666667%;
+}
+
+.col-6 {
+  flex: 0 0 auto;
+  width: 50%;
+}
+
+.col-7 {
+  flex: 0 0 auto;
+  width: 58.33333333%;
+}
+
+.col-8 {
+  flex: 0 0 auto;
+  width: 66.66666667%;
+}
+
+.col-9 {
+  flex: 0 0 auto;
+  width: 75%;
+}
+
+.col-10 {
+  flex: 0 0 auto;
+  width: 83.33333333%;
+}
+
+.col-11 {
+  flex: 0 0 auto;
+  width: 91.66666667%;
+}
+
+.col-12 {
+  flex: 0 0 auto;
+  width: 100%;
+}
+
+.offset-1 {
+  margin-left: 8.33333333%;
+}
+
+.offset-2 {
+  margin-left: 16.66666667%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.offset-4 {
+  margin-left: 33.33333333%;
+}
+
+.offset-5 {
+  margin-left: 41.66666667%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.offset-7 {
+  margin-left: 58.33333333%;
+}
+
+.offset-8 {
+  margin-left: 66.66666667%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.offset-10 {
+  margin-left: 83.33333333%;
+}
+
+.offset-11 {
+  margin-left: 91.66666667%;
+}
+
+.g-0,
+.gx-0 {
+  --bs-gutter-x: 0;
+}
+
+.g-0,
+.gy-0 {
+  --bs-gutter-y: 0;
+}
+
+.g-1,
+.gx-1 {
+  --bs-gutter-x: 0.25rem;
+}
+
+.g-1,
+.gy-1 {
+  --bs-gutter-y: 0.25rem;
+}
+
+.g-2,
+.gx-2 {
+  --bs-gutter-x: 0.5rem;
+}
+
+.g-2,
+.gy-2 {
+  --bs-gutter-y: 0.5rem;
+}
+
+.g-3,
+.gx-3 {
+  --bs-gutter-x: 1rem;
+}
+
+.g-3,
+.gy-3 {
+  --bs-gutter-y: 1rem;
+}
+
+.g-4,
+.gx-4 {
+  --bs-gutter-x: 1.5rem;
+}
+
+.g-4,
+.gy-4 {
+  --bs-gutter-y: 1.5rem;
+}
+
+.g-5,
+.gx-5 {
+  --bs-gutter-x: 3rem;
+}
+
+.g-5,
+.gy-5 {
+  --bs-gutter-y: 3rem;
+}
+
+@media (min-width: 576px) {
+  .col-sm {
+    flex: 1 0 0%;
+  }
+  .row-cols-sm-auto > * {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .row-cols-sm-1 > * {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .row-cols-sm-2 > * {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .row-cols-sm-3 > * {
+    flex: 0 0 auto;
+    width: 33.3333333333%;
+  }
+  .row-cols-sm-4 > * {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .row-cols-sm-5 > * {
+    flex: 0 0 auto;
+    width: 20%;
+  }
+  .row-cols-sm-6 > * {
+    flex: 0 0 auto;
+    width: 16.6666666667%;
+  }
+  .col-sm-auto {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .col-sm-1 {
+    flex: 0 0 auto;
+    width: 8.33333333%;
+  }
+  .col-sm-2 {
+    flex: 0 0 auto;
+    width: 16.66666667%;
+  }
+  .col-sm-3 {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .col-sm-4 {
+    flex: 0 0 auto;
+    width: 33.33333333%;
+  }
+  .col-sm-5 {
+    flex: 0 0 auto;
+    width: 41.66666667%;
+  }
+  .col-sm-6 {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .col-sm-7 {
+    flex: 0 0 auto;
+    width: 58.33333333%;
+  }
+  .col-sm-8 {
+    flex: 0 0 auto;
+    width: 66.66666667%;
+  }
+  .col-sm-9 {
+    flex: 0 0 auto;
+    width: 75%;
+  }
+  .col-sm-10 {
+    flex: 0 0 auto;
+    width: 83.33333333%;
+  }
+  .col-sm-11 {
+    flex: 0 0 auto;
+    width: 91.66666667%;
+  }
+  .col-sm-12 {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .offset-sm-0 {
+    margin-left: 0;
+  }
+  .offset-sm-1 {
+    margin-left: 8.33333333%;
+  }
+  .offset-sm-2 {
+    margin-left: 16.66666667%;
+  }
+  .offset-sm-3 {
+    margin-left: 25%;
+  }
+  .offset-sm-4 {
+    margin-left: 33.33333333%;
+  }
+  .offset-sm-5 {
+    margin-left: 41.66666667%;
+  }
+  .offset-sm-6 {
+    margin-left: 50%;
+  }
+  .offset-sm-7 {
+    margin-left: 58.33333333%;
+  }
+  .offset-sm-8 {
+    margin-left: 66.66666667%;
+  }
+  .offset-sm-9 {
+    margin-left: 75%;
+  }
+  .offset-sm-10 {
+    margin-left: 83.33333333%;
+  }
+  .offset-sm-11 {
+    margin-left: 91.66666667%;
+  }
+  .g-sm-0,
+  .gx-sm-0 {
+    --bs-gutter-x: 0;
+  }
+  .g-sm-0,
+  .gy-sm-0 {
+    --bs-gutter-y: 0;
+  }
+  .g-sm-1,
+  .gx-sm-1 {
+    --bs-gutter-x: 0.25rem;
+  }
+  .g-sm-1,
+  .gy-sm-1 {
+    --bs-gutter-y: 0.25rem;
+  }
+  .g-sm-2,
+  .gx-sm-2 {
+    --bs-gutter-x: 0.5rem;
+  }
+  .g-sm-2,
+  .gy-sm-2 {
+    --bs-gutter-y: 0.5rem;
+  }
+  .g-sm-3,
+  .gx-sm-3 {
+    --bs-gutter-x: 1rem;
+  }
+  .g-sm-3,
+  .gy-sm-3 {
+    --bs-gutter-y: 1rem;
+  }
+  .g-sm-4,
+  .gx-sm-4 {
+    --bs-gutter-x: 1.5rem;
+  }
+  .g-sm-4,
+  .gy-sm-4 {
+    --bs-gutter-y: 1.5rem;
+  }
+  .g-sm-5,
+  .gx-sm-5 {
+    --bs-gutter-x: 3rem;
+  }
+  .g-sm-5,
+  .gy-sm-5 {
+    --bs-gutter-y: 3rem;
+  }
+}
+@media (min-width: 768px) {
+  .col-md {
+    flex: 1 0 0%;
+  }
+  .row-cols-md-auto > * {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .row-cols-md-1 > * {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .row-cols-md-2 > * {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .row-cols-md-3 > * {
+    flex: 0 0 auto;
+    width: 33.3333333333%;
+  }
+  .row-cols-md-4 > * {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .row-cols-md-5 > * {
+    flex: 0 0 auto;
+    width: 20%;
+  }
+  .row-cols-md-6 > * {
+    flex: 0 0 auto;
+    width: 16.6666666667%;
+  }
+  .col-md-auto {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .col-md-1 {
+    flex: 0 0 auto;
+    width: 8.33333333%;
+  }
+  .col-md-2 {
+    flex: 0 0 auto;
+    width: 16.66666667%;
+  }
+  .col-md-3 {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .col-md-4 {
+    flex: 0 0 auto;
+    width: 33.33333333%;
+  }
+  .col-md-5 {
+    flex: 0 0 auto;
+    width: 41.66666667%;
+  }
+  .col-md-6 {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .col-md-7 {
+    flex: 0 0 auto;
+    width: 58.33333333%;
+  }
+  .col-md-8 {
+    flex: 0 0 auto;
+    width: 66.66666667%;
+  }
+  .col-md-9 {
+    flex: 0 0 auto;
+    width: 75%;
+  }
+  .col-md-10 {
+    flex: 0 0 auto;
+    width: 83.33333333%;
+  }
+  .col-md-11 {
+    flex: 0 0 auto;
+    width: 91.66666667%;
+  }
+  .col-md-12 {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .offset-md-0 {
+    margin-left: 0;
+  }
+  .offset-md-1 {
+    margin-left: 8.33333333%;
+  }
+  .offset-md-2 {
+    margin-left: 16.66666667%;
+  }
+  .offset-md-3 {
+    margin-left: 25%;
+  }
+  .offset-md-4 {
+    margin-left: 33.33333333%;
+  }
+  .offset-md-5 {
+    margin-left: 41.66666667%;
+  }
+  .offset-md-6 {
+    margin-left: 50%;
+  }
+  .offset-md-7 {
+    margin-left: 58.33333333%;
+  }
+  .offset-md-8 {
+    margin-left: 66.66666667%;
+  }
+  .offset-md-9 {
+    margin-left: 75%;
+  }
+  .offset-md-10 {
+    margin-left: 83.33333333%;
+  }
+  .offset-md-11 {
+    margin-left: 91.66666667%;
+  }
+  .g-md-0,
+  .gx-md-0 {
+    --bs-gutter-x: 0;
+  }
+  .g-md-0,
+  .gy-md-0 {
+    --bs-gutter-y: 0;
+  }
+  .g-md-1,
+  .gx-md-1 {
+    --bs-gutter-x: 0.25rem;
+  }
+  .g-md-1,
+  .gy-md-1 {
+    --bs-gutter-y: 0.25rem;
+  }
+  .g-md-2,
+  .gx-md-2 {
+    --bs-gutter-x: 0.5rem;
+  }
+  .g-md-2,
+  .gy-md-2 {
+    --bs-gutter-y: 0.5rem;
+  }
+  .g-md-3,
+  .gx-md-3 {
+    --bs-gutter-x: 1rem;
+  }
+  .g-md-3,
+  .gy-md-3 {
+    --bs-gutter-y: 1rem;
+  }
+  .g-md-4,
+  .gx-md-4 {
+    --bs-gutter-x: 1.5rem;
+  }
+  .g-md-4,
+  .gy-md-4 {
+    --bs-gutter-y: 1.5rem;
+  }
+  .g-md-5,
+  .gx-md-5 {
+    --bs-gutter-x: 3rem;
+  }
+  .g-md-5,
+  .gy-md-5 {
+    --bs-gutter-y: 3rem;
+  }
+}
+@media (min-width: 992px) {
+  .col-lg {
+    flex: 1 0 0%;
+  }
+  .row-cols-lg-auto > * {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .row-cols-lg-1 > * {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .row-cols-lg-2 > * {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .row-cols-lg-3 > * {
+    flex: 0 0 auto;
+    width: 33.3333333333%;
+  }
+  .row-cols-lg-4 > * {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .row-cols-lg-5 > * {
+    flex: 0 0 auto;
+    width: 20%;
+  }
+  .row-cols-lg-6 > * {
+    flex: 0 0 auto;
+    width: 16.6666666667%;
+  }
+  .col-lg-auto {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .col-lg-1 {
+    flex: 0 0 auto;
+    width: 8.33333333%;
+  }
+  .col-lg-2 {
+    flex: 0 0 auto;
+    width: 16.66666667%;
+  }
+  .col-lg-3 {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .col-lg-4 {
+    flex: 0 0 auto;
+    width: 33.33333333%;
+  }
+  .col-lg-5 {
+    flex: 0 0 auto;
+    width: 41.66666667%;
+  }
+  .col-lg-6 {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .col-lg-7 {
+    flex: 0 0 auto;
+    width: 58.33333333%;
+  }
+  .col-lg-8 {
+    flex: 0 0 auto;
+    width: 66.66666667%;
+  }
+  .col-lg-9 {
+    flex: 0 0 auto;
+    width: 75%;
+  }
+  .col-lg-10 {
+    flex: 0 0 auto;
+    width: 83.33333333%;
+  }
+  .col-lg-11 {
+    flex: 0 0 auto;
+    width: 91.66666667%;
+  }
+  .col-lg-12 {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .offset-lg-0 {
+    margin-left: 0;
+  }
+  .offset-lg-1 {
+    margin-left: 8.33333333%;
+  }
+  .offset-lg-2 {
+    margin-left: 16.66666667%;
+  }
+  .offset-lg-3 {
+    margin-left: 25%;
+  }
+  .offset-lg-4 {
+    margin-left: 33.33333333%;
+  }
+  .offset-lg-5 {
+    margin-left: 41.66666667%;
+  }
+  .offset-lg-6 {
+    margin-left: 50%;
+  }
+  .offset-lg-7 {
+    margin-left: 58.33333333%;
+  }
+  .offset-lg-8 {
+    margin-left: 66.66666667%;
+  }
+  .offset-lg-9 {
+    margin-left: 75%;
+  }
+  .offset-lg-10 {
+    margin-left: 83.33333333%;
+  }
+  .offset-lg-11 {
+    margin-left: 91.66666667%;
+  }
+  .g-lg-0,
+  .gx-lg-0 {
+    --bs-gutter-x: 0;
+  }
+  .g-lg-0,
+  .gy-lg-0 {
+    --bs-gutter-y: 0;
+  }
+  .g-lg-1,
+  .gx-lg-1 {
+    --bs-gutter-x: 0.25rem;
+  }
+  .g-lg-1,
+  .gy-lg-1 {
+    --bs-gutter-y: 0.25rem;
+  }
+  .g-lg-2,
+  .gx-lg-2 {
+    --bs-gutter-x: 0.5rem;
+  }
+  .g-lg-2,
+  .gy-lg-2 {
+    --bs-gutter-y: 0.5rem;
+  }
+  .g-lg-3,
+  .gx-lg-3 {
+    --bs-gutter-x: 1rem;
+  }
+  .g-lg-3,
+  .gy-lg-3 {
+    --bs-gutter-y: 1rem;
+  }
+  .g-lg-4,
+  .gx-lg-4 {
+    --bs-gutter-x: 1.5rem;
+  }
+  .g-lg-4,
+  .gy-lg-4 {
+    --bs-gutter-y: 1.5rem;
+  }
+  .g-lg-5,
+  .gx-lg-5 {
+    --bs-gutter-x: 3rem;
+  }
+  .g-lg-5,
+  .gy-lg-5 {
+    --bs-gutter-y: 3rem;
+  }
+}
+@media (min-width: 1200px) {
+  .col-xl {
+    flex: 1 0 0%;
+  }
+  .row-cols-xl-auto > * {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .row-cols-xl-1 > * {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .row-cols-xl-2 > * {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .row-cols-xl-3 > * {
+    flex: 0 0 auto;
+    width: 33.3333333333%;
+  }
+  .row-cols-xl-4 > * {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .row-cols-xl-5 > * {
+    flex: 0 0 auto;
+    width: 20%;
+  }
+  .row-cols-xl-6 > * {
+    flex: 0 0 auto;
+    width: 16.6666666667%;
+  }
+  .col-xl-auto {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .col-xl-1 {
+    flex: 0 0 auto;
+    width: 8.33333333%;
+  }
+  .col-xl-2 {
+    flex: 0 0 auto;
+    width: 16.66666667%;
+  }
+  .col-xl-3 {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .col-xl-4 {
+    flex: 0 0 auto;
+    width: 33.33333333%;
+  }
+  .col-xl-5 {
+    flex: 0 0 auto;
+    width: 41.66666667%;
+  }
+  .col-xl-6 {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .col-xl-7 {
+    flex: 0 0 auto;
+    width: 58.33333333%;
+  }
+  .col-xl-8 {
+    flex: 0 0 auto;
+    width: 66.66666667%;
+  }
+  .col-xl-9 {
+    flex: 0 0 auto;
+    width: 75%;
+  }
+  .col-xl-10 {
+    flex: 0 0 auto;
+    width: 83.33333333%;
+  }
+  .col-xl-11 {
+    flex: 0 0 auto;
+    width: 91.66666667%;
+  }
+  .col-xl-12 {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .offset-xl-0 {
+    margin-left: 0;
+  }
+  .offset-xl-1 {
+    margin-left: 8.33333333%;
+  }
+  .offset-xl-2 {
+    margin-left: 16.66666667%;
+  }
+  .offset-xl-3 {
+    margin-left: 25%;
+  }
+  .offset-xl-4 {
+    margin-left: 33.33333333%;
+  }
+  .offset-xl-5 {
+    margin-left: 41.66666667%;
+  }
+  .offset-xl-6 {
+    margin-left: 50%;
+  }
+  .offset-xl-7 {
+    margin-left: 58.33333333%;
+  }
+  .offset-xl-8 {
+    margin-left: 66.66666667%;
+  }
+  .offset-xl-9 {
+    margin-left: 75%;
+  }
+  .offset-xl-10 {
+    margin-left: 83.33333333%;
+  }
+  .offset-xl-11 {
+    margin-left: 91.66666667%;
+  }
+  .g-xl-0,
+  .gx-xl-0 {
+    --bs-gutter-x: 0;
+  }
+  .g-xl-0,
+  .gy-xl-0 {
+    --bs-gutter-y: 0;
+  }
+  .g-xl-1,
+  .gx-xl-1 {
+    --bs-gutter-x: 0.25rem;
+  }
+  .g-xl-1,
+  .gy-xl-1 {
+    --bs-gutter-y: 0.25rem;
+  }
+  .g-xl-2,
+  .gx-xl-2 {
+    --bs-gutter-x: 0.5rem;
+  }
+  .g-xl-2,
+  .gy-xl-2 {
+    --bs-gutter-y: 0.5rem;
+  }
+  .g-xl-3,
+  .gx-xl-3 {
+    --bs-gutter-x: 1rem;
+  }
+  .g-xl-3,
+  .gy-xl-3 {
+    --bs-gutter-y: 1rem;
+  }
+  .g-xl-4,
+  .gx-xl-4 {
+    --bs-gutter-x: 1.5rem;
+  }
+  .g-xl-4,
+  .gy-xl-4 {
+    --bs-gutter-y: 1.5rem;
+  }
+  .g-xl-5,
+  .gx-xl-5 {
+    --bs-gutter-x: 3rem;
+  }
+  .g-xl-5,
+  .gy-xl-5 {
+    --bs-gutter-y: 3rem;
+  }
+}
+@media (min-width: 1400px) {
+  .col-xxl {
+    flex: 1 0 0%;
+  }
+  .row-cols-xxl-auto > * {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .row-cols-xxl-1 > * {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .row-cols-xxl-2 > * {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .row-cols-xxl-3 > * {
+    flex: 0 0 auto;
+    width: 33.3333333333%;
+  }
+  .row-cols-xxl-4 > * {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .row-cols-xxl-5 > * {
+    flex: 0 0 auto;
+    width: 20%;
+  }
+  .row-cols-xxl-6 > * {
+    flex: 0 0 auto;
+    width: 16.6666666667%;
+  }
+  .col-xxl-auto {
+    flex: 0 0 auto;
+    width: auto;
+  }
+  .col-xxl-1 {
+    flex: 0 0 auto;
+    width: 8.33333333%;
+  }
+  .col-xxl-2 {
+    flex: 0 0 auto;
+    width: 16.66666667%;
+  }
+  .col-xxl-3 {
+    flex: 0 0 auto;
+    width: 25%;
+  }
+  .col-xxl-4 {
+    flex: 0 0 auto;
+    width: 33.33333333%;
+  }
+  .col-xxl-5 {
+    flex: 0 0 auto;
+    width: 41.66666667%;
+  }
+  .col-xxl-6 {
+    flex: 0 0 auto;
+    width: 50%;
+  }
+  .col-xxl-7 {
+    flex: 0 0 auto;
+    width: 58.33333333%;
+  }
+  .col-xxl-8 {
+    flex: 0 0 auto;
+    width: 66.66666667%;
+  }
+  .col-xxl-9 {
+    flex: 0 0 auto;
+    width: 75%;
+  }
+  .col-xxl-10 {
+    flex: 0 0 auto;
+    width: 83.33333333%;
+  }
+  .col-xxl-11 {
+    flex: 0 0 auto;
+    width: 91.66666667%;
+  }
+  .col-xxl-12 {
+    flex: 0 0 auto;
+    width: 100%;
+  }
+  .offset-xxl-0 {
+    margin-left: 0;
+  }
+  .offset-xxl-1 {
+    margin-left: 8.33333333%;
+  }
+  .offset-xxl-2 {
+    margin-left: 16.66666667%;
+  }
+  .offset-xxl-3 {
+    margin-left: 25%;
+  }
+  .offset-xxl-4 {
+    margin-left: 33.33333333%;
+  }
+  .offset-xxl-5 {
+    margin-left: 41.66666667%;
+  }
+  .offset-xxl-6 {
+    margin-left: 50%;
+  }
+  .offset-xxl-7 {
+    margin-left: 58.33333333%;
+  }
+  .offset-xxl-8 {
+    margin-left: 66.66666667%;
+  }
+  .offset-xxl-9 {
+    margin-left: 75%;
+  }
+  .offset-xxl-10 {
+    margin-left: 83.33333333%;
+  }
+  .offset-xxl-11 {
+    margin-left: 91.66666667%;
+  }
+  .g-xxl-0,
+  .gx-xxl-0 {
+    --bs-gutter-x: 0;
+  }
+  .g-xxl-0,
+  .gy-xxl-0 {
+    --bs-gutter-y: 0;
+  }
+  .g-xxl-1,
+  .gx-xxl-1 {
+    --bs-gutter-x: 0.25rem;
+  }
+  .g-xxl-1,
+  .gy-xxl-1 {
+    --bs-gutter-y: 0.25rem;
+  }
+  .g-xxl-2,
+  .gx-xxl-2 {
+    --bs-gutter-x: 0.5rem;
+  }
+  .g-xxl-2,
+  .gy-xxl-2 {
+    --bs-gutter-y: 0.5rem;
+  }
+  .g-xxl-3,
+  .gx-xxl-3 {
+    --bs-gutter-x: 1rem;
+  }
+  .g-xxl-3,
+  .gy-xxl-3 {
+    --bs-gutter-y: 1rem;
+  }
+  .g-xxl-4,
+  .gx-xxl-4 {
+    --bs-gutter-x: 1.5rem;
+  }
+  .g-xxl-4,
+  .gy-xxl-4 {
+    --bs-gutter-y: 1.5rem;
+  }
+  .g-xxl-5,
+  .gx-xxl-5 {
+    --bs-gutter-x: 3rem;
+  }
+  .g-xxl-5,
+  .gy-xxl-5 {
+    --bs-gutter-y: 3rem;
+  }
+}
+.table {
+  --bs-table-color: var(--bs-body-color);
+  --bs-table-bg: transparent;
+  --bs-table-border-color: var(--bs-border-color);
+  --bs-table-accent-bg: transparent;
+  --bs-table-striped-color: var(--bs-body-color);
+  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
+  --bs-table-active-color: var(--bs-body-color);
+  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
+  --bs-table-hover-color: var(--bs-body-color);
+  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
+  width: 100%;
+  margin-bottom: 1rem;
+  color: var(--bs-table-color);
+  vertical-align: top;
+  border-color: var(--bs-table-border-color);
+}
+.table > :not(caption) > * > * {
+  padding: 0.5rem 0.5rem;
+  background-color: var(--bs-table-bg);
+  border-bottom-width: 1px;
+  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
+}
+.table > tbody {
+  vertical-align: inherit;
+}
+.table > thead {
+  vertical-align: bottom;
+}
+
+.table-group-divider {
+  border-top: 2px solid currentcolor;
+}
+
+.caption-top {
+  caption-side: top;
+}
+
+.table-sm > :not(caption) > * > * {
+  padding: 0.25rem 0.25rem;
+}
+
+.table-bordered > :not(caption) > * {
+  border-width: 1px 0;
+}
+.table-bordered > :not(caption) > * > * {
+  border-width: 0 1px;
+}
+
+.table-borderless > :not(caption) > * > * {
+  border-bottom-width: 0;
+}
+.table-borderless > :not(:first-child) {
+  border-top-width: 0;
+}
+
+.table-striped > tbody > tr:nth-of-type(odd) > * {
+  --bs-table-accent-bg: var(--bs-table-striped-bg);
+  color: var(--bs-table-striped-color);
+}
+
+.table-striped-columns > :not(caption) > tr > :nth-child(even) {
+  --bs-table-accent-bg: var(--bs-table-striped-bg);
+  color: var(--bs-table-striped-color);
+}
+
+.table-active {
+  --bs-table-accent-bg: var(--bs-table-active-bg);
+  color: var(--bs-table-active-color);
+}
+
+.table-hover > tbody > tr:hover > * {
+  --bs-table-accent-bg: var(--bs-table-hover-bg);
+  color: var(--bs-table-hover-color);
+}
+
+.table-primary {
+  --bs-table-color: #000;
+  --bs-table-bg: #cfe2ff;
+  --bs-table-border-color: #bacbe6;
+  --bs-table-striped-bg: #c5d7f2;
+  --bs-table-striped-color: #000;
+  --bs-table-active-bg: #bacbe6;
+  --bs-table-active-color: #000;
+  --bs-table-hover-bg: #bfd1ec;
+  --bs-table-hover-color: #000;
+  color: var(--bs-table-color);
+  border-color: var(--bs-table-border-color);
+}
+
+.table-secondary {
+  --bs-table-color: #000;
+  --bs-table-bg: #e2e3e5;
+  --bs-table-border-color: #cbccce;
+  --bs-table-striped-bg: #d7d8da;
+  --bs-table-striped-color: #000;
+  --bs-table-active-bg: #cbccce;
+  --bs-table-active-color: #000;
+  --bs-table-hover-bg: #d1d2d4;
+  --bs-table-hover-color: #000;
+  color: var(--bs-table-color);
+  border-color: var(--bs-table-border-color);
+}
+
+.table-success {
+  --bs-table-color: #000;
+  --bs-table-bg: #d1e7dd;
+  --bs-table-border-color: #bcd0c7;
+  --bs-table-striped-bg: #c7dbd2;
+  --bs-table-striped-color: #000;
+  --bs-table-active-bg: #bcd0c7;
+  --bs-table-active-color: #000;
+  --bs-table-hover-bg: #c1d6cc;
+  --bs-table-hover-color: #000;
+  color: var(--bs-table-color);
+  border-color: var(--bs-table-border-color);
+}
+
+.table-info {
+  --bs-table-color: #000;
+  --bs-table-bg: #cff4fc;
+  --bs-table-border-color: #badce3;
+  --bs-table-striped-bg: #c5e8ef;
+  --bs-table-striped-color: #000;
+  --bs-table-active-bg: #badce3;
+  --bs-table-active-color: #000;
+  --bs-table-hover-bg: #bfe2e9;
+  --bs-table-hover-color: #000;
+  color: var(--bs-table-color);
+  border-color: var(--bs-table-border-color);
+}
+
+.table-warning {
+  --bs-table-color: #000;
+  --bs-table-bg: #fff3cd;
+  --bs-table-border-color: #e6dbb9;
+  --bs-table-striped-bg: #f2e7c3;
+  --bs-table-striped-color: #000;
+  --bs-table-active-bg: #e6dbb9;
+  --bs-table-active-color: #000;
+  --bs-table-hover-bg: #ece1be;
+  --bs-table-hover-color: #000;
+  color: var(--bs-table-color);
+  border-color: var(--bs-table-border-color);
+}
+
+.table-danger {
+  --bs-table-color: #000;
+  --bs-table-bg: #f8d7da;
+  --bs-table-border-color: #dfc2c4;
+  --bs-table-striped-bg: #eccccf;
+  --bs-table-striped-color: #000;
+  --bs-table-active-bg: #dfc2c4;
+  --bs-table-active-color: #000;
+  --bs-table-hover-bg: #e5c7ca;
+  --bs-table-hover-color: #000;
+  color: var(--bs-table-color);
+  border-color: var(--bs-table-border-color);
+}
+
+.table-light {
+  --bs-table-color: #000;
+  --bs-table-bg: #f8f9fa;
+  --bs-table-border-color: #dfe0e1;
+  --bs-table-striped-bg: #ecedee;
+  --bs-table-striped-color: #000;
+  --bs-table-active-bg: #dfe0e1;
+  --bs-table-active-color: #000;
+  --bs-table-hover-bg: #e5e6e7;
+  --bs-table-hover-color: #000;
+  color: var(--bs-table-color);
+  border-color: var(--bs-table-border-color);
+}
+
+.table-dark {
+  --bs-table-color: #fff;
+  --bs-table-bg: #212529;
+  --bs-table-border-color: #373b3e;
+  --bs-table-striped-bg: #2c3034;
+  --bs-table-striped-color: #fff;
+  --bs-table-active-bg: #373b3e;
+  --bs-table-active-color: #fff;
+  --bs-table-hover-bg: #323539;
+  --bs-table-hover-color: #fff;
+  color: var(--bs-table-color);
+  border-color: var(--bs-table-border-color);
+}
+
+.table-responsive {
+  overflow-x: auto;
+  -webkit-overflow-scrolling: touch;
+}
+
+@media (max-width: 575.98px) {
+  .table-responsive-sm {
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+}
+@media (max-width: 767.98px) {
+  .table-responsive-md {
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+}
+@media (max-width: 991.98px) {
+  .table-responsive-lg {
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+}
+@media (max-width: 1199.98px) {
+  .table-responsive-xl {
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+}
+@media (max-width: 1399.98px) {
+  .table-responsive-xxl {
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+}
+.form-label {
+  margin-bottom: 0.5rem;
+}
+
+.col-form-label {
+  padding-top: calc(0.75rem + 1px);
+  padding-bottom: calc(0.75rem + 1px);
+  margin-bottom: 0;
+  font-size: inherit;
+  line-height: 1.5;
+}
+
+.col-form-label-lg {
+  padding-top: calc(1rem + 1px);
+  padding-bottom: calc(1rem + 1px);
+  font-size: 1.25rem;
+}
+
+.col-form-label-sm {
+  padding-top: calc(0.5rem + 1px);
+  padding-bottom: calc(0.5rem + 1px);
+  font-size: 0.875rem;
+}
+
+.form-text {
+  margin-top: 0.25rem;
+  font-size: 0.875em;
+  color: #6c757d;
+}
+
+.form-control {
+  display: block;
+  width: 100%;
+  padding: 0.75rem 1rem;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #212529;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid #ced4da;
+  -webkit-appearance: none;
+     -moz-appearance: none;
+          appearance: none;
+  border-radius: 0.375rem;
+  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-control {
+    transition: none;
+  }
+}
+.form-control[type=file] {
+  overflow: hidden;
+}
+.form-control[type=file]:not(:disabled):not([readonly]) {
+  cursor: pointer;
+}
+.form-control:focus {
+  color: #212529;
+  background-color: #fff;
+  border-color: #86b7fe;
+  outline: 0;
+  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-control::-webkit-date-and-time-value {
+  height: 1.5em;
+}
+.form-control::-moz-placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+.form-control::placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+.form-control:disabled {
+  background-color: #e9ecef;
+  opacity: 1;
+}
+.form-control::file-selector-button {
+  padding: 0.75rem 1rem;
+  margin: -0.75rem -1rem;
+  -webkit-margin-end: 1rem;
+          margin-inline-end: 1rem;
+  color: #212529;
+  background-color: #e9ecef;
+  pointer-events: none;
+  border-color: inherit;
+  border-style: solid;
+  border-width: 0;
+  border-inline-end-width: 1px;
+  border-radius: 0;
+  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-control::file-selector-button {
+    transition: none;
+  }
+}
+.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
+  background-color: #dde0e3;
+}
+
+.form-control-plaintext {
+  display: block;
+  width: 100%;
+  padding: 0.75rem 0;
+  margin-bottom: 0;
+  line-height: 1.5;
+  color: #212529;
+  background-color: transparent;
+  border: solid transparent;
+  border-width: 1px 0;
+}
+.form-control-plaintext:focus {
+  outline: 0;
+}
+.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.form-control-sm {
+  min-height: calc(1.5em + 1rem + 2px);
+  padding: 0.5rem 0.75rem;
+  font-size: 0.875rem;
+  border-radius: 0.25rem;
+}
+.form-control-sm::file-selector-button {
+  padding: 0.5rem 0.75rem;
+  margin: -0.5rem -0.75rem;
+  -webkit-margin-end: 0.75rem;
+          margin-inline-end: 0.75rem;
+}
+
+.form-control-lg {
+  min-height: calc(1.5em + 2rem + 2px);
+  padding: 1rem 1.25rem;
+  font-size: 1.25rem;
+  border-radius: 0.5rem;
+}
+.form-control-lg::file-selector-button {
+  padding: 1rem 1.25rem;
+  margin: -1rem -1.25rem;
+  -webkit-margin-end: 1.25rem;
+          margin-inline-end: 1.25rem;
+}
+
+textarea.form-control {
+  min-height: calc(1.5em + 1.5rem + 2px);
+}
+textarea.form-control-sm {
+  min-height: calc(1.5em + 1rem + 2px);
+}
+textarea.form-control-lg {
+  min-height: calc(1.5em + 2rem + 2px);
+}
+
+.form-control-color {
+  width: 3rem;
+  height: calc(1.5em + 1.5rem + 2px);
+  padding: 0.75rem;
+}
+.form-control-color:not(:disabled):not([readonly]) {
+  cursor: pointer;
+}
+.form-control-color::-moz-color-swatch {
+  border: 0 !important;
+  border-radius: 0.375rem;
+}
+.form-control-color::-webkit-color-swatch {
+  border-radius: 0.375rem;
+}
+.form-control-color.form-control-sm {
+  height: calc(1.5em + 1rem + 2px);
+}
+.form-control-color.form-control-lg {
+  height: calc(1.5em + 2rem + 2px);
+}
+
+.form-select {
+  display: block;
+  width: 100%;
+  padding: 0.75rem 3rem 0.75rem 1rem;
+  -moz-padding-start: calc(1rem - 3px);
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #212529;
+  background-color: #fff;
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+  background-repeat: no-repeat;
+  background-position: right 1rem center;
+  background-size: 16px 12px;
+  border: 1px solid #ced4da;
+  border-radius: 0.375rem;
+  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  -webkit-appearance: none;
+     -moz-appearance: none;
+          appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-select {
+    transition: none;
+  }
+}
+.form-select:focus {
+  border-color: #86b7fe;
+  outline: 0;
+  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-select[multiple], .form-select[size]:not([size="1"]) {
+  padding-right: 1rem;
+  background-image: none;
+}
+.form-select:disabled {
+  background-color: #e9ecef;
+}
+.form-select:-moz-focusring {
+  color: transparent;
+  text-shadow: 0 0 0 #212529;
+}
+
+.form-select-sm {
+  padding-top: 0.5rem;
+  padding-bottom: 0.5rem;
+  padding-left: 0.75rem;
+  font-size: 0.875rem;
+  border-radius: 0.25rem;
+}
+
+.form-select-lg {
+  padding-top: 1rem;
+  padding-bottom: 1rem;
+  padding-left: 1.25rem;
+  font-size: 1.25rem;
+  border-radius: 0.5rem;
+}
+
+.form-check {
+  display: block;
+  min-height: 1.5rem;
+  padding-left: 1.5em;
+  margin-bottom: 0.125rem;
+}
+.form-check .form-check-input {
+  float: left;
+  margin-left: -1.5em;
+}
+
+.form-check-reverse {
+  padding-right: 1.5em;
+  padding-left: 0;
+  text-align: right;
+}
+.form-check-reverse .form-check-input {
+  float: right;
+  margin-right: -1.5em;
+  margin-left: 0;
+}
+
+.form-check-input {
+  width: 1em;
+  height: 1em;
+  margin-top: 0.25em;
+  vertical-align: top;
+  background-color: #fff;
+  background-repeat: no-repeat;
+  background-position: center;
+  background-size: contain;
+  border: 1px solid rgba(0, 0, 0, 0.25);
+  -webkit-appearance: none;
+     -moz-appearance: none;
+          appearance: none;
+  -webkit-print-color-adjust: exact;
+          print-color-adjust: exact;
+}
+.form-check-input[type=checkbox] {
+  border-radius: 0.25em;
+}
+.form-check-input[type=radio] {
+  border-radius: 50%;
+}
+.form-check-input:active {
+  filter: brightness(90%);
+}
+.form-check-input:focus {
+  border-color: #86b7fe;
+  outline: 0;
+  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-check-input:checked {
+  background-color: #0d6efd;
+  border-color: #0d6efd;
+}
+.form-check-input:checked[type=checkbox] {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
+}
+.form-check-input:checked[type=radio] {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
+}
+.form-check-input[type=checkbox]:indeterminate {
+  background-color: #0d6efd;
+  border-color: #0d6efd;
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
+}
+.form-check-input:disabled {
+  pointer-events: none;
+  filter: none;
+  opacity: 0.5;
+}
+.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
+  cursor: default;
+  opacity: 0.5;
+}
+
+.form-switch {
+  padding-left: 2.5em;
+}
+.form-switch .form-check-input {
+  width: 2em;
+  margin-left: -2.5em;
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
+  background-position: left center;
+  border-radius: 2em;
+  transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-switch .form-check-input {
+    transition: none;
+  }
+}
+.form-switch .form-check-input:focus {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
+}
+.form-switch .form-check-input:checked {
+  background-position: right center;
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+}
+.form-switch.form-check-reverse {
+  padding-right: 2.5em;
+  padding-left: 0;
+}
+.form-switch.form-check-reverse .form-check-input {
+  margin-right: -2.5em;
+  margin-left: 0;
+}
+
+.form-check-inline {
+  display: inline-block;
+  margin-right: 1rem;
+}
+
+.btn-check {
+  position: absolute;
+  clip: rect(0, 0, 0, 0);
+  pointer-events: none;
+}
+.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
+  pointer-events: none;
+  filter: none;
+  opacity: 0.65;
+}
+
+.form-range {
+  width: 100%;
+  height: 1.5rem;
+  padding: 0;
+  background-color: transparent;
+  -webkit-appearance: none;
+     -moz-appearance: none;
+          appearance: none;
+}
+.form-range:focus {
+  outline: 0;
+}
+.form-range:focus::-webkit-slider-thumb {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-range:focus::-moz-range-thumb {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-range::-moz-focus-outer {
+  border: 0;
+}
+.form-range::-webkit-slider-thumb {
+  width: 1rem;
+  height: 1rem;
+  margin-top: -0.25rem;
+  background-color: #0d6efd;
+  border: 0;
+  border-radius: 1rem;
+  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  -webkit-appearance: none;
+          appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-range::-webkit-slider-thumb {
+    -webkit-transition: none;
+    transition: none;
+  }
+}
+.form-range::-webkit-slider-thumb:active {
+  background-color: #b6d4fe;
+}
+.form-range::-webkit-slider-runnable-track {
+  width: 100%;
+  height: 0.5rem;
+  color: transparent;
+  cursor: pointer;
+  background-color: #dee2e6;
+  border-color: transparent;
+  border-radius: 1rem;
+}
+.form-range::-moz-range-thumb {
+  width: 1rem;
+  height: 1rem;
+  background-color: #0d6efd;
+  border: 0;
+  border-radius: 1rem;
+  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  -moz-appearance: none;
+       appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-range::-moz-range-thumb {
+    -moz-transition: none;
+    transition: none;
+  }
+}
+.form-range::-moz-range-thumb:active {
+  background-color: #b6d4fe;
+}
+.form-range::-moz-range-track {
+  width: 100%;
+  height: 0.5rem;
+  color: transparent;
+  cursor: pointer;
+  background-color: #dee2e6;
+  border-color: transparent;
+  border-radius: 1rem;
+}
+.form-range:disabled {
+  pointer-events: none;
+}
+.form-range:disabled::-webkit-slider-thumb {
+  background-color: #adb5bd;
+}
+.form-range:disabled::-moz-range-thumb {
+  background-color: #adb5bd;
+}
+
+.form-floating {
+  position: relative;
+}
+.form-floating > .form-control,
+.form-floating > .form-control-plaintext,
+.form-floating > .form-select {
+  height: calc(3.5rem + 2px);
+  line-height: 1.25;
+}
+.form-floating > label {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  padding: 1rem 1rem;
+  overflow: hidden;
+  text-align: start;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  pointer-events: none;
+  border: 1px solid transparent;
+  transform-origin: 0 0;
+  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-floating > label {
+    transition: none;
+  }
+}
+.form-floating > .form-control,
+.form-floating > .form-control-plaintext {
+  padding: 1rem 1rem;
+}
+.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
+  color: transparent;
+}
+.form-floating > .form-control::placeholder,
+.form-floating > .form-control-plaintext::placeholder {
+  color: transparent;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {
+  padding-top: 1.625rem;
+  padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
+.form-floating > .form-control-plaintext:focus,
+.form-floating > .form-control-plaintext:not(:placeholder-shown) {
+  padding-top: 1.625rem;
+  padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:-webkit-autofill,
+.form-floating > .form-control-plaintext:-webkit-autofill {
+  padding-top: 1.625rem;
+  padding-bottom: 0.625rem;
+}
+.form-floating > .form-select {
+  padding-top: 1.625rem;
+  padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
+  opacity: 0.65;
+  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:focus ~ label,
+.form-floating > .form-control:not(:placeholder-shown) ~ label,
+.form-floating > .form-control-plaintext ~ label,
+.form-floating > .form-select ~ label {
+  opacity: 0.65;
+  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:-webkit-autofill ~ label {
+  opacity: 0.65;
+  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control-plaintext ~ label {
+  border-width: 1px 0;
+}
+
+.input-group {
+  position: relative;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: stretch;
+  width: 100%;
+}
+.input-group > .form-control,
+.input-group > .form-select,
+.input-group > .form-floating {
+  position: relative;
+  flex: 1 1 auto;
+  width: 1%;
+  min-width: 0;
+}
+.input-group > .form-control:focus,
+.input-group > .form-select:focus,
+.input-group > .form-floating:focus-within {
+  z-index: 5;
+}
+.input-group .btn {
+  position: relative;
+  z-index: 2;
+}
+.input-group .btn:focus {
+  z-index: 5;
+}
+
+.input-group-text {
+  display: flex;
+  align-items: center;
+  padding: 0.75rem 1rem;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #212529;
+  text-align: center;
+  white-space: nowrap;
+  background-color: #e9ecef;
+  border: 1px solid #ced4da;
+  border-radius: 0.375rem;
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .form-select,
+.input-group-lg > .input-group-text,
+.input-group-lg > .btn {
+  padding: 1rem 1.25rem;
+  font-size: 1.25rem;
+  border-radius: 0.5rem;
+}
+
+.input-group-sm > .form-control,
+.input-group-sm > .form-select,
+.input-group-sm > .input-group-text,
+.input-group-sm > .btn {
+  padding: 0.5rem 0.75rem;
+  font-size: 0.875rem;
+  border-radius: 0.25rem;
+}
+
+.input-group-lg > .form-select,
+.input-group-sm > .form-select {
+  padding-right: 4rem;
+}
+
+.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
+.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
+.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
+.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
+.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
+.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
+  margin-left: -1px;
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.input-group > .form-floating:not(:first-child) > .form-control,
+.input-group > .form-floating:not(:first-child) > .form-select {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.valid-feedback {
+  display: none;
+  width: 100%;
+  margin-top: 0.25rem;
+  font-size: 0.875em;
+  color: #198754;
+}
+
+.valid-tooltip {
+  position: absolute;
+  top: 100%;
+  z-index: 5;
+  display: none;
+  max-width: 100%;
+  padding: 0.25rem 0.5rem;
+  margin-top: 0.1rem;
+  font-size: 0.875rem;
+  color: #fff;
+  background-color: rgba(25, 135, 84, 0.9);
+  border-radius: 0.375rem;
+}
+
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip,
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated .form-control:valid, .form-control.is-valid {
+  border-color: #198754;
+  padding-right: calc(1.5em + 1.5rem);
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+  background-repeat: no-repeat;
+  background-position: right calc(0.375em + 0.375rem) center;
+  background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem);
+}
+.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
+  border-color: #198754;
+  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
+}
+
+.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
+  padding-right: calc(1.5em + 1.5rem);
+  background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem);
+}
+
+.was-validated .form-select:valid, .form-select.is-valid {
+  border-color: #198754;
+}
+.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
+  padding-right: 5.5rem;
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+  background-position: right 1rem center, center right 3rem;
+  background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem);
+}
+.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
+  border-color: #198754;
+  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
+}
+
+.was-validated .form-control-color:valid, .form-control-color.is-valid {
+  width: calc(3rem + calc(1.5em + 1.5rem));
+}
+
+.was-validated .form-check-input:valid, .form-check-input.is-valid {
+  border-color: #198754;
+}
+.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
+  background-color: #198754;
+}
+.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
+  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
+}
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+  color: #198754;
+}
+
+.form-check-inline .form-check-input ~ .valid-feedback {
+  margin-left: 0.5em;
+}
+
+.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
+.was-validated .input-group > .form-select:not(:focus):valid,
+.input-group > .form-select:not(:focus).is-valid,
+.was-validated .input-group > .form-floating:not(:focus-within):valid,
+.input-group > .form-floating:not(:focus-within).is-valid {
+  z-index: 3;
+}
+
+.invalid-feedback {
+  display: none;
+  width: 100%;
+  margin-top: 0.25rem;
+  font-size: 0.875em;
+  color: #dc3545;
+}
+
+.invalid-tooltip {
+  position: absolute;
+  top: 100%;
+  z-index: 5;
+  display: none;
+  max-width: 100%;
+  padding: 0.25rem 0.5rem;
+  margin-top: 0.1rem;
+  font-size: 0.875rem;
+  color: #fff;
+  background-color: rgba(220, 53, 69, 0.9);
+  border-radius: 0.375rem;
+}
+
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip,
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid {
+  border-color: #dc3545;
+  padding-right: calc(1.5em + 1.5rem);
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
+  background-repeat: no-repeat;
+  background-position: right calc(0.375em + 0.375rem) center;
+  background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem);
+}
+.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
+  border-color: #dc3545;
+  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
+  padding-right: calc(1.5em + 1.5rem);
+  background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem);
+}
+
+.was-validated .form-select:invalid, .form-select.is-invalid {
+  border-color: #dc3545;
+}
+.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
+  padding-right: 5.5rem;
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
+  background-position: right 1rem center, center right 3rem;
+  background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem);
+}
+.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
+  border-color: #dc3545;
+  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
+  width: calc(3rem + calc(1.5em + 1.5rem));
+}
+
+.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
+  border-color: #dc3545;
+}
+.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
+  background-color: #dc3545;
+}
+.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
+  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
+}
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+  color: #dc3545;
+}
+
+.form-check-inline .form-check-input ~ .invalid-feedback {
+  margin-left: 0.5em;
+}
+
+.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
+.was-validated .input-group > .form-select:not(:focus):invalid,
+.input-group > .form-select:not(:focus).is-invalid,
+.was-validated .input-group > .form-floating:not(:focus-within):invalid,
+.input-group > .form-floating:not(:focus-within).is-invalid {
+  z-index: 4;
+}
+
+.btn {
+  --bs-btn-padding-x: 1rem;
+  --bs-btn-padding-y: 0.75rem;
+  --bs-btn-font-family: ;
+  --bs-btn-font-size: 1rem;
+  --bs-btn-font-weight: 400;
+  --bs-btn-line-height: 1.5;
+  --bs-btn-color: #212529;
+  --bs-btn-bg: transparent;
+  --bs-btn-border-width: 1px;
+  --bs-btn-border-color: transparent;
+  --bs-btn-border-radius: 0.375rem;
+  --bs-btn-hover-border-color: transparent;
+  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
+  --bs-btn-disabled-opacity: 0.65;
+  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
+  display: inline-block;
+  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
+  font-family: var(--bs-btn-font-family);
+  font-size: var(--bs-btn-font-size);
+  font-weight: var(--bs-btn-font-weight);
+  line-height: var(--bs-btn-line-height);
+  color: var(--bs-btn-color);
+  text-align: center;
+  text-decoration: none;
+  vertical-align: middle;
+  cursor: pointer;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+          user-select: none;
+  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
+  border-radius: var(--bs-btn-border-radius);
+  background-color: var(--bs-btn-bg);
+  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .btn {
+    transition: none;
+  }
+}
+.btn:hover {
+  color: var(--bs-btn-hover-color);
+  background-color: var(--bs-btn-hover-bg);
+  border-color: var(--bs-btn-hover-border-color);
+}
+.btn-check + .btn:hover {
+  color: var(--bs-btn-color);
+  background-color: var(--bs-btn-bg);
+  border-color: var(--bs-btn-border-color);
+}
+.btn:focus-visible {
+  color: var(--bs-btn-hover-color);
+  background-color: var(--bs-btn-hover-bg);
+  border-color: var(--bs-btn-hover-border-color);
+  outline: 0;
+  box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn-check:focus-visible + .btn {
+  border-color: var(--bs-btn-hover-border-color);
+  outline: 0;
+  box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
+  color: var(--bs-btn-active-color);
+  background-color: var(--bs-btn-active-bg);
+  border-color: var(--bs-btn-active-border-color);
+}
+.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
+  box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn:disabled, .btn.disabled, fieldset:disabled .btn {
+  color: var(--bs-btn-disabled-color);
+  pointer-events: none;
+  background-color: var(--bs-btn-disabled-bg);
+  border-color: var(--bs-btn-disabled-border-color);
+  opacity: var(--bs-btn-disabled-opacity);
+}
+
+.btn-primary {
+  --bs-btn-color: #fff;
+  --bs-btn-bg: #0d6efd;
+  --bs-btn-border-color: #0d6efd;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #0b5ed7;
+  --bs-btn-hover-border-color: #0a58ca;
+  --bs-btn-focus-shadow-rgb: 49, 132, 253;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #0a58ca;
+  --bs-btn-active-border-color: #0a53be;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #fff;
+  --bs-btn-disabled-bg: #0d6efd;
+  --bs-btn-disabled-border-color: #0d6efd;
+}
+
+.btn-secondary {
+  --bs-btn-color: #fff;
+  --bs-btn-bg: #6c757d;
+  --bs-btn-border-color: #6c757d;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #5c636a;
+  --bs-btn-hover-border-color: #565e64;
+  --bs-btn-focus-shadow-rgb: 130, 138, 145;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #565e64;
+  --bs-btn-active-border-color: #51585e;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #fff;
+  --bs-btn-disabled-bg: #6c757d;
+  --bs-btn-disabled-border-color: #6c757d;
+}
+
+.btn-success {
+  --bs-btn-color: #fff;
+  --bs-btn-bg: #198754;
+  --bs-btn-border-color: #198754;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #157347;
+  --bs-btn-hover-border-color: #146c43;
+  --bs-btn-focus-shadow-rgb: 60, 153, 110;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #146c43;
+  --bs-btn-active-border-color: #13653f;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #fff;
+  --bs-btn-disabled-bg: #198754;
+  --bs-btn-disabled-border-color: #198754;
+}
+
+.btn-info {
+  --bs-btn-color: #000;
+  --bs-btn-bg: #0dcaf0;
+  --bs-btn-border-color: #0dcaf0;
+  --bs-btn-hover-color: #000;
+  --bs-btn-hover-bg: #31d2f2;
+  --bs-btn-hover-border-color: #25cff2;
+  --bs-btn-focus-shadow-rgb: 11, 172, 204;
+  --bs-btn-active-color: #000;
+  --bs-btn-active-bg: #3dd5f3;
+  --bs-btn-active-border-color: #25cff2;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #000;
+  --bs-btn-disabled-bg: #0dcaf0;
+  --bs-btn-disabled-border-color: #0dcaf0;
+}
+
+.btn-warning {
+  --bs-btn-color: #000;
+  --bs-btn-bg: #ffc107;
+  --bs-btn-border-color: #ffc107;
+  --bs-btn-hover-color: #000;
+  --bs-btn-hover-bg: #ffca2c;
+  --bs-btn-hover-border-color: #ffc720;
+  --bs-btn-focus-shadow-rgb: 217, 164, 6;
+  --bs-btn-active-color: #000;
+  --bs-btn-active-bg: #ffcd39;
+  --bs-btn-active-border-color: #ffc720;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #000;
+  --bs-btn-disabled-bg: #ffc107;
+  --bs-btn-disabled-border-color: #ffc107;
+}
+
+.btn-danger {
+  --bs-btn-color: #fff;
+  --bs-btn-bg: #dc3545;
+  --bs-btn-border-color: #dc3545;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #bb2d3b;
+  --bs-btn-hover-border-color: #b02a37;
+  --bs-btn-focus-shadow-rgb: 225, 83, 97;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #b02a37;
+  --bs-btn-active-border-color: #a52834;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #fff;
+  --bs-btn-disabled-bg: #dc3545;
+  --bs-btn-disabled-border-color: #dc3545;
+}
+
+.btn-light {
+  --bs-btn-color: #000;
+  --bs-btn-bg: #f8f9fa;
+  --bs-btn-border-color: #f8f9fa;
+  --bs-btn-hover-color: #000;
+  --bs-btn-hover-bg: #d3d4d5;
+  --bs-btn-hover-border-color: #c6c7c8;
+  --bs-btn-focus-shadow-rgb: 211, 212, 213;
+  --bs-btn-active-color: #000;
+  --bs-btn-active-bg: #c6c7c8;
+  --bs-btn-active-border-color: #babbbc;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #000;
+  --bs-btn-disabled-bg: #f8f9fa;
+  --bs-btn-disabled-border-color: #f8f9fa;
+}
+
+.btn-dark {
+  --bs-btn-color: #fff;
+  --bs-btn-bg: #212529;
+  --bs-btn-border-color: #212529;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #424649;
+  --bs-btn-hover-border-color: #373b3e;
+  --bs-btn-focus-shadow-rgb: 66, 70, 73;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #4d5154;
+  --bs-btn-active-border-color: #373b3e;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #fff;
+  --bs-btn-disabled-bg: #212529;
+  --bs-btn-disabled-border-color: #212529;
+}
+
+.btn-outline-primary {
+  --bs-btn-color: #0d6efd;
+  --bs-btn-border-color: #0d6efd;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #0d6efd;
+  --bs-btn-hover-border-color: #0d6efd;
+  --bs-btn-focus-shadow-rgb: 13, 110, 253;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #0d6efd;
+  --bs-btn-active-border-color: #0d6efd;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #0d6efd;
+  --bs-btn-disabled-bg: transparent;
+  --bs-btn-disabled-border-color: #0d6efd;
+  --bs-gradient: none;
+}
+
+.btn-outline-secondary {
+  --bs-btn-color: #6c757d;
+  --bs-btn-border-color: #6c757d;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #6c757d;
+  --bs-btn-hover-border-color: #6c757d;
+  --bs-btn-focus-shadow-rgb: 108, 117, 125;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #6c757d;
+  --bs-btn-active-border-color: #6c757d;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #6c757d;
+  --bs-btn-disabled-bg: transparent;
+  --bs-btn-disabled-border-color: #6c757d;
+  --bs-gradient: none;
+}
+
+.btn-outline-success {
+  --bs-btn-color: #198754;
+  --bs-btn-border-color: #198754;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #198754;
+  --bs-btn-hover-border-color: #198754;
+  --bs-btn-focus-shadow-rgb: 25, 135, 84;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #198754;
+  --bs-btn-active-border-color: #198754;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #198754;
+  --bs-btn-disabled-bg: transparent;
+  --bs-btn-disabled-border-color: #198754;
+  --bs-gradient: none;
+}
+
+.btn-outline-info {
+  --bs-btn-color: #0dcaf0;
+  --bs-btn-border-color: #0dcaf0;
+  --bs-btn-hover-color: #000;
+  --bs-btn-hover-bg: #0dcaf0;
+  --bs-btn-hover-border-color: #0dcaf0;
+  --bs-btn-focus-shadow-rgb: 13, 202, 240;
+  --bs-btn-active-color: #000;
+  --bs-btn-active-bg: #0dcaf0;
+  --bs-btn-active-border-color: #0dcaf0;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #0dcaf0;
+  --bs-btn-disabled-bg: transparent;
+  --bs-btn-disabled-border-color: #0dcaf0;
+  --bs-gradient: none;
+}
+
+.btn-outline-warning {
+  --bs-btn-color: #ffc107;
+  --bs-btn-border-color: #ffc107;
+  --bs-btn-hover-color: #000;
+  --bs-btn-hover-bg: #ffc107;
+  --bs-btn-hover-border-color: #ffc107;
+  --bs-btn-focus-shadow-rgb: 255, 193, 7;
+  --bs-btn-active-color: #000;
+  --bs-btn-active-bg: #ffc107;
+  --bs-btn-active-border-color: #ffc107;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #ffc107;
+  --bs-btn-disabled-bg: transparent;
+  --bs-btn-disabled-border-color: #ffc107;
+  --bs-gradient: none;
+}
+
+.btn-outline-danger {
+  --bs-btn-color: #dc3545;
+  --bs-btn-border-color: #dc3545;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #dc3545;
+  --bs-btn-hover-border-color: #dc3545;
+  --bs-btn-focus-shadow-rgb: 220, 53, 69;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #dc3545;
+  --bs-btn-active-border-color: #dc3545;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #dc3545;
+  --bs-btn-disabled-bg: transparent;
+  --bs-btn-disabled-border-color: #dc3545;
+  --bs-gradient: none;
+}
+
+.btn-outline-light {
+  --bs-btn-color: #f8f9fa;
+  --bs-btn-border-color: #f8f9fa;
+  --bs-btn-hover-color: #000;
+  --bs-btn-hover-bg: #f8f9fa;
+  --bs-btn-hover-border-color: #f8f9fa;
+  --bs-btn-focus-shadow-rgb: 248, 249, 250;
+  --bs-btn-active-color: #000;
+  --bs-btn-active-bg: #f8f9fa;
+  --bs-btn-active-border-color: #f8f9fa;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #f8f9fa;
+  --bs-btn-disabled-bg: transparent;
+  --bs-btn-disabled-border-color: #f8f9fa;
+  --bs-gradient: none;
+}
+
+.btn-outline-dark {
+  --bs-btn-color: #212529;
+  --bs-btn-border-color: #212529;
+  --bs-btn-hover-color: #fff;
+  --bs-btn-hover-bg: #212529;
+  --bs-btn-hover-border-color: #212529;
+  --bs-btn-focus-shadow-rgb: 33, 37, 41;
+  --bs-btn-active-color: #fff;
+  --bs-btn-active-bg: #212529;
+  --bs-btn-active-border-color: #212529;
+  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  --bs-btn-disabled-color: #212529;
+  --bs-btn-disabled-bg: transparent;
+  --bs-btn-disabled-border-color: #212529;
+  --bs-gradient: none;
+}
+
+.btn-link {
+  --bs-btn-font-weight: 400;
+  --bs-btn-color: var(--bs-link-color);
+  --bs-btn-bg: transparent;
+  --bs-btn-border-color: transparent;
+  --bs-btn-hover-color: var(--bs-link-hover-color);
+  --bs-btn-hover-border-color: transparent;
+  --bs-btn-active-color: var(--bs-link-hover-color);
+  --bs-btn-active-border-color: transparent;
+  --bs-btn-disabled-color: #6c757d;
+  --bs-btn-disabled-border-color: transparent;
+  --bs-btn-box-shadow: none;
+  --bs-btn-focus-shadow-rgb: 49, 132, 253;
+  text-decoration: underline;
+}
+.btn-link:focus-visible {
+  color: var(--bs-btn-color);
+}
+.btn-link:hover {
+  color: var(--bs-btn-hover-color);
+}
+
+.btn-lg, .btn-group-lg > .btn {
+  --bs-btn-padding-y: 1rem;
+  --bs-btn-padding-x: 1.25rem;
+  --bs-btn-font-size: 1.25rem;
+  --bs-btn-border-radius: 0.5rem;
+}
+
+.btn-sm, .btn-group-sm > .btn {
+  --bs-btn-padding-y: 0.5rem;
+  --bs-btn-padding-x: 0.75rem;
+  --bs-btn-font-size: 0.875rem;
+  --bs-btn-border-radius: 0.25rem;
+}
+
+.fade {
+  transition: opacity 0.15s linear;
+}
+@media (prefers-reduced-motion: reduce) {
+  .fade {
+    transition: none;
+  }
+}
+.fade:not(.show) {
+  opacity: 0;
+}
+
+.collapse:not(.show) {
+  display: none;
+}
+
+.collapsing {
+  height: 0;
+  overflow: hidden;
+  transition: height 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+  .collapsing {
+    transition: none;
+  }
+}
+.collapsing.collapse-horizontal {
+  width: 0;
+  height: auto;
+  transition: width 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+  .collapsing.collapse-horizontal {
+    transition: none;
+  }
+}
+
+.dropup,
+.dropend,
+.dropdown,
+.dropstart,
+.dropup-center,
+.dropdown-center {
+  position: relative;
+}
+
+.dropdown-toggle {
+  white-space: nowrap;
+}
+.dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0;
+  border-left: 0.3em solid transparent;
+}
+.dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropdown-menu {
+  --bs-dropdown-zindex: 1000;
+  --bs-dropdown-min-width: 10rem;
+  --bs-dropdown-padding-x: 0;
+  --bs-dropdown-padding-y: 0.5rem;
+  --bs-dropdown-spacer: 0.125rem;
+  --bs-dropdown-font-size: 1rem;
+  --bs-dropdown-color: #212529;
+  --bs-dropdown-bg: #fff;
+  --bs-dropdown-border-color: var(--bs-border-color-translucent);
+  --bs-dropdown-border-radius: 0.375rem;
+  --bs-dropdown-border-width: 1px;
+  --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);
+  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
+  --bs-dropdown-divider-margin-y: 0.5rem;
+  --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+  --bs-dropdown-link-color: #212529;
+  --bs-dropdown-link-hover-color: #1e2125;
+  --bs-dropdown-link-hover-bg: #e9ecef;
+  --bs-dropdown-link-active-color: #fff;
+  --bs-dropdown-link-active-bg: #0d6efd;
+  --bs-dropdown-link-disabled-color: #adb5bd;
+  --bs-dropdown-item-padding-x: 1rem;
+  --bs-dropdown-item-padding-y: 0.25rem;
+  --bs-dropdown-header-color: #6c757d;
+  --bs-dropdown-header-padding-x: 1rem;
+  --bs-dropdown-header-padding-y: 0.5rem;
+  position: absolute;
+  z-index: var(--bs-dropdown-zindex);
+  display: none;
+  min-width: var(--bs-dropdown-min-width);
+  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
+  margin: 0;
+  font-size: var(--bs-dropdown-font-size);
+  color: var(--bs-dropdown-color);
+  text-align: left;
+  list-style: none;
+  background-color: var(--bs-dropdown-bg);
+  background-clip: padding-box;
+  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
+  border-radius: var(--bs-dropdown-border-radius);
+}
+.dropdown-menu[data-bs-popper] {
+  top: 100%;
+  left: 0;
+  margin-top: var(--bs-dropdown-spacer);
+}
+
+.dropdown-menu-start {
+  --bs-position: start;
+}
+.dropdown-menu-start[data-bs-popper] {
+  right: auto;
+  left: 0;
+}
+
+.dropdown-menu-end {
+  --bs-position: end;
+}
+.dropdown-menu-end[data-bs-popper] {
+  right: 0;
+  left: auto;
+}
+
+@media (min-width: 576px) {
+  .dropdown-menu-sm-start {
+    --bs-position: start;
+  }
+  .dropdown-menu-sm-start[data-bs-popper] {
+    right: auto;
+    left: 0;
+  }
+  .dropdown-menu-sm-end {
+    --bs-position: end;
+  }
+  .dropdown-menu-sm-end[data-bs-popper] {
+    right: 0;
+    left: auto;
+  }
+}
+@media (min-width: 768px) {
+  .dropdown-menu-md-start {
+    --bs-position: start;
+  }
+  .dropdown-menu-md-start[data-bs-popper] {
+    right: auto;
+    left: 0;
+  }
+  .dropdown-menu-md-end {
+    --bs-position: end;
+  }
+  .dropdown-menu-md-end[data-bs-popper] {
+    right: 0;
+    left: auto;
+  }
+}
+@media (min-width: 992px) {
+  .dropdown-menu-lg-start {
+    --bs-position: start;
+  }
+  .dropdown-menu-lg-start[data-bs-popper] {
+    right: auto;
+    left: 0;
+  }
+  .dropdown-menu-lg-end {
+    --bs-position: end;
+  }
+  .dropdown-menu-lg-end[data-bs-popper] {
+    right: 0;
+    left: auto;
+  }
+}
+@media (min-width: 1200px) {
+  .dropdown-menu-xl-start {
+    --bs-position: start;
+  }
+  .dropdown-menu-xl-start[data-bs-popper] {
+    right: auto;
+    left: 0;
+  }
+  .dropdown-menu-xl-end {
+    --bs-position: end;
+  }
+  .dropdown-menu-xl-end[data-bs-popper] {
+    right: 0;
+    left: auto;
+  }
+}
+@media (min-width: 1400px) {
+  .dropdown-menu-xxl-start {
+    --bs-position: start;
+  }
+  .dropdown-menu-xxl-start[data-bs-popper] {
+    right: auto;
+    left: 0;
+  }
+  .dropdown-menu-xxl-end {
+    --bs-position: end;
+  }
+  .dropdown-menu-xxl-end[data-bs-popper] {
+    right: 0;
+    left: auto;
+  }
+}
+.dropup .dropdown-menu[data-bs-popper] {
+  top: auto;
+  bottom: 100%;
+  margin-top: 0;
+  margin-bottom: var(--bs-dropdown-spacer);
+}
+.dropup .dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0.3em solid;
+  border-left: 0.3em solid transparent;
+}
+.dropup .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropend .dropdown-menu[data-bs-popper] {
+  top: 0;
+  right: auto;
+  left: 100%;
+  margin-top: 0;
+  margin-left: var(--bs-dropdown-spacer);
+}
+.dropend .dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid transparent;
+  border-right: 0;
+  border-bottom: 0.3em solid transparent;
+  border-left: 0.3em solid;
+}
+.dropend .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+.dropend .dropdown-toggle::after {
+  vertical-align: 0;
+}
+
+.dropstart .dropdown-menu[data-bs-popper] {
+  top: 0;
+  right: 100%;
+  left: auto;
+  margin-top: 0;
+  margin-right: var(--bs-dropdown-spacer);
+}
+.dropstart .dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+}
+.dropstart .dropdown-toggle::after {
+  display: none;
+}
+.dropstart .dropdown-toggle::before {
+  display: inline-block;
+  margin-right: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid transparent;
+  border-right: 0.3em solid;
+  border-bottom: 0.3em solid transparent;
+}
+.dropstart .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+.dropstart .dropdown-toggle::before {
+  vertical-align: 0;
+}
+
+.dropdown-divider {
+  height: 0;
+  margin: var(--bs-dropdown-divider-margin-y) 0;
+  overflow: hidden;
+  border-top: 1px solid var(--bs-dropdown-divider-bg);
+  opacity: 1;
+}
+
+.dropdown-item {
+  display: block;
+  width: 100%;
+  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+  clear: both;
+  font-weight: 400;
+  color: var(--bs-dropdown-link-color);
+  text-align: inherit;
+  text-decoration: none;
+  white-space: nowrap;
+  background-color: transparent;
+  border: 0;
+}
+.dropdown-item:hover, .dropdown-item:focus {
+  color: var(--bs-dropdown-link-hover-color);
+  background-color: var(--bs-dropdown-link-hover-bg);
+}
+.dropdown-item.active, .dropdown-item:active {
+  color: var(--bs-dropdown-link-active-color);
+  text-decoration: none;
+  background-color: var(--bs-dropdown-link-active-bg);
+}
+.dropdown-item.disabled, .dropdown-item:disabled {
+  color: var(--bs-dropdown-link-disabled-color);
+  pointer-events: none;
+  background-color: transparent;
+}
+
+.dropdown-menu.show {
+  display: block;
+}
+
+.dropdown-header {
+  display: block;
+  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
+  margin-bottom: 0;
+  font-size: 0.875rem;
+  color: var(--bs-dropdown-header-color);
+  white-space: nowrap;
+}
+
+.dropdown-item-text {
+  display: block;
+  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+  color: var(--bs-dropdown-link-color);
+}
+
+.dropdown-menu-dark {
+  --bs-dropdown-color: #dee2e6;
+  --bs-dropdown-bg: #343a40;
+  --bs-dropdown-border-color: var(--bs-border-color-translucent);
+  --bs-dropdown-box-shadow: ;
+  --bs-dropdown-link-color: #dee2e6;
+  --bs-dropdown-link-hover-color: #fff;
+  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
+  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
+  --bs-dropdown-link-active-color: #fff;
+  --bs-dropdown-link-active-bg: #0d6efd;
+  --bs-dropdown-link-disabled-color: #adb5bd;
+  --bs-dropdown-header-color: #adb5bd;
+}
+
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: inline-flex;
+  vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+  position: relative;
+  flex: 1 1 auto;
+}
+.btn-group > .btn-check:checked + .btn,
+.btn-group > .btn-check:focus + .btn,
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn-check:checked + .btn,
+.btn-group-vertical > .btn-check:focus + .btn,
+.btn-group-vertical > .btn:hover,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+  z-index: 1;
+}
+
+.btn-toolbar {
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: flex-start;
+}
+.btn-toolbar .input-group {
+  width: auto;
+}
+
+.btn-group {
+  border-radius: 0.375rem;
+}
+.btn-group > :not(.btn-check:first-child) + .btn,
+.btn-group > .btn-group:not(:first-child) {
+  margin-left: -1px;
+}
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group > .btn.dropdown-toggle-split:first-child,
+.btn-group > .btn-group:not(:last-child) > .btn {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.btn-group > .btn:nth-child(n+3),
+.btn-group > :not(.btn-check) + .btn,
+.btn-group > .btn-group:not(:first-child) > .btn {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.dropdown-toggle-split {
+  padding-right: 0.75rem;
+  padding-left: 0.75rem;
+}
+.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
+  margin-left: 0;
+}
+.dropstart .dropdown-toggle-split::before {
+  margin-right: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+  padding-right: 0.5625rem;
+  padding-left: 0.5625rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+  padding-right: 0.9375rem;
+  padding-left: 0.9375rem;
+}
+
+.btn-group-vertical {
+  flex-direction: column;
+  align-items: flex-start;
+  justify-content: center;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+  width: 100%;
+}
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) {
+  margin-top: -1px;
+}
+.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group-vertical > .btn-group:not(:last-child) > .btn {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn ~ .btn,
+.btn-group-vertical > .btn-group:not(:first-child) > .btn {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.nav {
+  --bs-nav-link-padding-x: 1rem;
+  --bs-nav-link-padding-y: 0.5rem;
+  --bs-nav-link-font-weight: ;
+  --bs-nav-link-color: var(--bs-link-color);
+  --bs-nav-link-hover-color: var(--bs-link-hover-color);
+  --bs-nav-link-disabled-color: #6c757d;
+  display: flex;
+  flex-wrap: wrap;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none;
+}
+
+.nav-link {
+  display: block;
+  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
+  font-size: var(--bs-nav-link-font-size);
+  font-weight: var(--bs-nav-link-font-weight);
+  color: var(--bs-nav-link-color);
+  text-decoration: none;
+  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .nav-link {
+    transition: none;
+  }
+}
+.nav-link:hover, .nav-link:focus {
+  color: var(--bs-nav-link-hover-color);
+}
+.nav-link.disabled {
+  color: var(--bs-nav-link-disabled-color);
+  pointer-events: none;
+  cursor: default;
+}
+
+.nav-tabs {
+  --bs-nav-tabs-border-width: 1px;
+  --bs-nav-tabs-border-color: #dee2e6;
+  --bs-nav-tabs-border-radius: 0.375rem;
+  --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;
+  --bs-nav-tabs-link-active-color: #495057;
+  --bs-nav-tabs-link-active-bg: #fff;
+  --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;
+  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
+}
+.nav-tabs .nav-link {
+  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
+  background: none;
+  border: var(--bs-nav-tabs-border-width) solid transparent;
+  border-top-left-radius: var(--bs-nav-tabs-border-radius);
+  border-top-right-radius: var(--bs-nav-tabs-border-radius);
+}
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+  isolation: isolate;
+  border-color: var(--bs-nav-tabs-link-hover-border-color);
+}
+.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {
+  color: var(--bs-nav-link-disabled-color);
+  background-color: transparent;
+  border-color: transparent;
+}
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+  color: var(--bs-nav-tabs-link-active-color);
+  background-color: var(--bs-nav-tabs-link-active-bg);
+  border-color: var(--bs-nav-tabs-link-active-border-color);
+}
+.nav-tabs .dropdown-menu {
+  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.nav-pills {
+  --bs-nav-pills-border-radius: 0.375rem;
+  --bs-nav-pills-link-active-color: #fff;
+  --bs-nav-pills-link-active-bg: #0d6efd;
+}
+.nav-pills .nav-link {
+  background: none;
+  border: 0;
+  border-radius: var(--bs-nav-pills-border-radius);
+}
+.nav-pills .nav-link:disabled {
+  color: var(--bs-nav-link-disabled-color);
+  background-color: transparent;
+  border-color: transparent;
+}
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+  color: var(--bs-nav-pills-link-active-color);
+  background-color: var(--bs-nav-pills-link-active-bg);
+}
+
+.nav-fill > .nav-link,
+.nav-fill .nav-item {
+  flex: 1 1 auto;
+  text-align: center;
+}
+
+.nav-justified > .nav-link,
+.nav-justified .nav-item {
+  flex-basis: 0;
+  flex-grow: 1;
+  text-align: center;
+}
+
+.nav-fill .nav-item .nav-link,
+.nav-justified .nav-item .nav-link {
+  width: 100%;
+}
+
+.tab-content > .tab-pane {
+  display: none;
+}
+.tab-content > .active {
+  display: block;
+}
+
+.navbar {
+  --bs-navbar-padding-x: 0;
+  --bs-navbar-padding-y: 0.5rem;
+  --bs-navbar-color: rgba(0, 0, 0, 0.55);
+  --bs-navbar-hover-color: rgba(0, 0, 0, 0.7);
+  --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3);
+  --bs-navbar-active-color: rgba(0, 0, 0, 0.9);
+  --bs-navbar-brand-padding-y: 0.3125rem;
+  --bs-navbar-brand-margin-end: 1rem;
+  --bs-navbar-brand-font-size: 1.25rem;
+  --bs-navbar-brand-color: rgba(0, 0, 0, 0.9);
+  --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.9);
+  --bs-navbar-nav-link-padding-x: 0.5rem;
+  --bs-navbar-toggler-padding-y: 0.25rem;
+  --bs-navbar-toggler-padding-x: 0.75rem;
+  --bs-navbar-toggler-font-size: 1.25rem;
+  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+  --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1);
+  --bs-navbar-toggler-border-radius: 0.375rem;
+  --bs-navbar-toggler-focus-width: 0.25rem;
+  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
+  position: relative;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  justify-content: space-between;
+  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
+}
+.navbar > .container,
+.navbar > .container-fluid,
+.navbar > .container-sm,
+.navbar > .container-md,
+.navbar > .container-lg,
+.navbar > .container-xl,
+.navbar > .container-xxl {
+  display: flex;
+  flex-wrap: inherit;
+  align-items: center;
+  justify-content: space-between;
+}
+.navbar-brand {
+  padding-top: var(--bs-navbar-brand-padding-y);
+  padding-bottom: var(--bs-navbar-brand-padding-y);
+  margin-right: var(--bs-navbar-brand-margin-end);
+  font-size: var(--bs-navbar-brand-font-size);
+  color: var(--bs-navbar-brand-color);
+  text-decoration: none;
+  white-space: nowrap;
+}
+.navbar-brand:hover, .navbar-brand:focus {
+  color: var(--bs-navbar-brand-hover-color);
+}
+
+.navbar-nav {
+  --bs-nav-link-padding-x: 0;
+  --bs-nav-link-padding-y: 0.5rem;
+  --bs-nav-link-font-weight: ;
+  --bs-nav-link-color: var(--bs-navbar-color);
+  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
+  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
+  display: flex;
+  flex-direction: column;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none;
+}
+.navbar-nav .show > .nav-link,
+.navbar-nav .nav-link.active {
+  color: var(--bs-navbar-active-color);
+}
+.navbar-nav .dropdown-menu {
+  position: static;
+}
+
+.navbar-text {
+  padding-top: 0.5rem;
+  padding-bottom: 0.5rem;
+  color: var(--bs-navbar-color);
+}
+.navbar-text a,
+.navbar-text a:hover,
+.navbar-text a:focus {
+  color: var(--bs-navbar-active-color);
+}
+
+.navbar-collapse {
+  flex-basis: 100%;
+  flex-grow: 1;
+  align-items: center;
+}
+
+.navbar-toggler {
+  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
+  font-size: var(--bs-navbar-toggler-font-size);
+  line-height: 1;
+  color: var(--bs-navbar-color);
+  background-color: transparent;
+  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
+  border-radius: var(--bs-navbar-toggler-border-radius);
+  transition: var(--bs-navbar-toggler-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+  .navbar-toggler {
+    transition: none;
+  }
+}
+.navbar-toggler:hover {
+  text-decoration: none;
+}
+.navbar-toggler:focus {
+  text-decoration: none;
+  outline: 0;
+  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
+}
+
+.navbar-toggler-icon {
+  display: inline-block;
+  width: 1.5em;
+  height: 1.5em;
+  vertical-align: middle;
+  background-image: var(--bs-navbar-toggler-icon-bg);
+  background-repeat: no-repeat;
+  background-position: center;
+  background-size: 100%;
+}
+
+.navbar-nav-scroll {
+  max-height: var(--bs-scroll-height, 75vh);
+  overflow-y: auto;
+}
+
+@media (min-width: 576px) {
+  .navbar-expand-sm {
+    flex-wrap: nowrap;
+    justify-content: flex-start;
+  }
+  .navbar-expand-sm .navbar-nav {
+    flex-direction: row;
+  }
+  .navbar-expand-sm .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-sm .navbar-nav .nav-link {
+    padding-right: var(--bs-navbar-nav-link-padding-x);
+    padding-left: var(--bs-navbar-nav-link-padding-x);
+  }
+  .navbar-expand-sm .navbar-nav-scroll {
+    overflow: visible;
+  }
+  .navbar-expand-sm .navbar-collapse {
+    display: flex !important;
+    flex-basis: auto;
+  }
+  .navbar-expand-sm .navbar-toggler {
+    display: none;
+  }
+  .navbar-expand-sm .offcanvas {
+    position: static;
+    z-index: auto;
+    flex-grow: 1;
+    width: auto !important;
+    height: auto !important;
+    visibility: visible !important;
+    background-color: transparent !important;
+    border: 0 !important;
+    transform: none !important;
+    transition: none;
+  }
+  .navbar-expand-sm .offcanvas .offcanvas-header {
+    display: none;
+  }
+  .navbar-expand-sm .offcanvas .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+  }
+}
+@media (min-width: 768px) {
+  .navbar-expand-md {
+    flex-wrap: nowrap;
+    justify-content: flex-start;
+  }
+  .navbar-expand-md .navbar-nav {
+    flex-direction: row;
+  }
+  .navbar-expand-md .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-md .navbar-nav .nav-link {
+    padding-right: var(--bs-navbar-nav-link-padding-x);
+    padding-left: var(--bs-navbar-nav-link-padding-x);
+  }
+  .navbar-expand-md .navbar-nav-scroll {
+    overflow: visible;
+  }
+  .navbar-expand-md .navbar-collapse {
+    display: flex !important;
+    flex-basis: auto;
+  }
+  .navbar-expand-md .navbar-toggler {
+    display: none;
+  }
+  .navbar-expand-md .offcanvas {
+    position: static;
+    z-index: auto;
+    flex-grow: 1;
+    width: auto !important;
+    height: auto !important;
+    visibility: visible !important;
+    background-color: transparent !important;
+    border: 0 !important;
+    transform: none !important;
+    transition: none;
+  }
+  .navbar-expand-md .offcanvas .offcanvas-header {
+    display: none;
+  }
+  .navbar-expand-md .offcanvas .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+  }
+}
+@media (min-width: 992px) {
+  .navbar-expand-lg {
+    flex-wrap: nowrap;
+    justify-content: flex-start;
+  }
+  .navbar-expand-lg .navbar-nav {
+    flex-direction: row;
+  }
+  .navbar-expand-lg .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-lg .navbar-nav .nav-link {
+    padding-right: var(--bs-navbar-nav-link-padding-x);
+    padding-left: var(--bs-navbar-nav-link-padding-x);
+  }
+  .navbar-expand-lg .navbar-nav-scroll {
+    overflow: visible;
+  }
+  .navbar-expand-lg .navbar-collapse {
+    display: flex !important;
+    flex-basis: auto;
+  }
+  .navbar-expand-lg .navbar-toggler {
+    display: none;
+  }
+  .navbar-expand-lg .offcanvas {
+    position: static;
+    z-index: auto;
+    flex-grow: 1;
+    width: auto !important;
+    height: auto !important;
+    visibility: visible !important;
+    background-color: transparent !important;
+    border: 0 !important;
+    transform: none !important;
+    transition: none;
+  }
+  .navbar-expand-lg .offcanvas .offcanvas-header {
+    display: none;
+  }
+  .navbar-expand-lg .offcanvas .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+  }
+}
+@media (min-width: 1200px) {
+  .navbar-expand-xl {
+    flex-wrap: nowrap;
+    justify-content: flex-start;
+  }
+  .navbar-expand-xl .navbar-nav {
+    flex-direction: row;
+  }
+  .navbar-expand-xl .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-xl .navbar-nav .nav-link {
+    padding-right: var(--bs-navbar-nav-link-padding-x);
+    padding-left: var(--bs-navbar-nav-link-padding-x);
+  }
+  .navbar-expand-xl .navbar-nav-scroll {
+    overflow: visible;
+  }
+  .navbar-expand-xl .navbar-collapse {
+    display: flex !important;
+    flex-basis: auto;
+  }
+  .navbar-expand-xl .navbar-toggler {
+    display: none;
+  }
+  .navbar-expand-xl .offcanvas {
+    position: static;
+    z-index: auto;
+    flex-grow: 1;
+    width: auto !important;
+    height: auto !important;
+    visibility: visible !important;
+    background-color: transparent !important;
+    border: 0 !important;
+    transform: none !important;
+    transition: none;
+  }
+  .navbar-expand-xl .offcanvas .offcanvas-header {
+    display: none;
+  }
+  .navbar-expand-xl .offcanvas .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+  }
+}
+@media (min-width: 1400px) {
+  .navbar-expand-xxl {
+    flex-wrap: nowrap;
+    justify-content: flex-start;
+  }
+  .navbar-expand-xxl .navbar-nav {
+    flex-direction: row;
+  }
+  .navbar-expand-xxl .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-xxl .navbar-nav .nav-link {
+    padding-right: var(--bs-navbar-nav-link-padding-x);
+    padding-left: var(--bs-navbar-nav-link-padding-x);
+  }
+  .navbar-expand-xxl .navbar-nav-scroll {
+    overflow: visible;
+  }
+  .navbar-expand-xxl .navbar-collapse {
+    display: flex !important;
+    flex-basis: auto;
+  }
+  .navbar-expand-xxl .navbar-toggler {
+    display: none;
+  }
+  .navbar-expand-xxl .offcanvas {
+    position: static;
+    z-index: auto;
+    flex-grow: 1;
+    width: auto !important;
+    height: auto !important;
+    visibility: visible !important;
+    background-color: transparent !important;
+    border: 0 !important;
+    transform: none !important;
+    transition: none;
+  }
+  .navbar-expand-xxl .offcanvas .offcanvas-header {
+    display: none;
+  }
+  .navbar-expand-xxl .offcanvas .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+  }
+}
+.navbar-expand {
+  flex-wrap: nowrap;
+  justify-content: flex-start;
+}
+.navbar-expand .navbar-nav {
+  flex-direction: row;
+}
+.navbar-expand .navbar-nav .dropdown-menu {
+  position: absolute;
+}
+.navbar-expand .navbar-nav .nav-link {
+  padding-right: var(--bs-navbar-nav-link-padding-x);
+  padding-left: var(--bs-navbar-nav-link-padding-x);
+}
+.navbar-expand .navbar-nav-scroll {
+  overflow: visible;
+}
+.navbar-expand .navbar-collapse {
+  display: flex !important;
+  flex-basis: auto;
+}
+.navbar-expand .navbar-toggler {
+  display: none;
+}
+.navbar-expand .offcanvas {
+  position: static;
+  z-index: auto;
+  flex-grow: 1;
+  width: auto !important;
+  height: auto !important;
+  visibility: visible !important;
+  background-color: transparent !important;
+  border: 0 !important;
+  transform: none !important;
+  transition: none;
+}
+.navbar-expand .offcanvas .offcanvas-header {
+  display: none;
+}
+.navbar-expand .offcanvas .offcanvas-body {
+  display: flex;
+  flex-grow: 0;
+  padding: 0;
+  overflow-y: visible;
+}
+
+.navbar-dark {
+  --bs-navbar-color: rgba(255, 255, 255, 0.55);
+  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
+  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
+  --bs-navbar-active-color: #fff;
+  --bs-navbar-brand-color: #fff;
+  --bs-navbar-brand-hover-color: #fff;
+  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
+  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+
+.card {
+  --bs-card-spacer-y: 1rem;
+  --bs-card-spacer-x: 1rem;
+  --bs-card-title-spacer-y: 0.5rem;
+  --bs-card-border-width: 1px;
+  --bs-card-border-color: var(--bs-border-color-translucent);
+  --bs-card-border-radius: 0.375rem;
+  --bs-card-box-shadow: ;
+  --bs-card-inner-border-radius: calc(0.375rem - 1px);
+  --bs-card-cap-padding-y: 0.5rem;
+  --bs-card-cap-padding-x: 1rem;
+  --bs-card-cap-bg: rgba(0, 0, 0, 0.03);
+  --bs-card-cap-color: ;
+  --bs-card-height: ;
+  --bs-card-color: ;
+  --bs-card-bg: #fff;
+  --bs-card-img-overlay-padding: 1rem;
+  --bs-card-group-margin: 0.75rem;
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  min-width: 0;
+  height: var(--bs-card-height);
+  word-wrap: break-word;
+  background-color: var(--bs-card-bg);
+  background-clip: border-box;
+  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
+  border-radius: var(--bs-card-border-radius);
+}
+.card > hr {
+  margin-right: 0;
+  margin-left: 0;
+}
+.card > .list-group {
+  border-top: inherit;
+  border-bottom: inherit;
+}
+.card > .list-group:first-child {
+  border-top-width: 0;
+  border-top-left-radius: var(--bs-card-inner-border-radius);
+  border-top-right-radius: var(--bs-card-inner-border-radius);
+}
+.card > .list-group:last-child {
+  border-bottom-width: 0;
+  border-bottom-right-radius: var(--bs-card-inner-border-radius);
+  border-bottom-left-radius: var(--bs-card-inner-border-radius);
+}
+.card > .card-header + .list-group,
+.card > .list-group + .card-footer {
+  border-top: 0;
+}
+
+.card-body {
+  flex: 1 1 auto;
+  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
+  color: var(--bs-card-color);
+}
+
+.card-title {
+  margin-bottom: var(--bs-card-title-spacer-y);
+}
+
+.card-subtitle {
+  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
+  margin-bottom: 0;
+}
+
+.card-text:last-child {
+  margin-bottom: 0;
+}
+
+.card-link + .card-link {
+  margin-left: var(--bs-card-spacer-x);
+}
+
+.card-header {
+  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
+  margin-bottom: 0;
+  color: var(--bs-card-cap-color);
+  background-color: var(--bs-card-cap-bg);
+  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
+}
+.card-header:first-child {
+  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
+}
+
+.card-footer {
+  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
+  color: var(--bs-card-cap-color);
+  background-color: var(--bs-card-cap-bg);
+  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
+}
+.card-footer:last-child {
+  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
+}
+
+.card-header-tabs {
+  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
+  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+  border-bottom: 0;
+}
+.card-header-tabs .nav-link.active {
+  background-color: var(--bs-card-bg);
+  border-bottom-color: var(--bs-card-bg);
+}
+
+.card-header-pills {
+  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+}
+
+.card-img-overlay {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: var(--bs-card-img-overlay-padding);
+  border-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-img,
+.card-img-top,
+.card-img-bottom {
+  width: 100%;
+}
+
+.card-img,
+.card-img-top {
+  border-top-left-radius: var(--bs-card-inner-border-radius);
+  border-top-right-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-img,
+.card-img-bottom {
+  border-bottom-right-radius: var(--bs-card-inner-border-radius);
+  border-bottom-left-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-group > .card {
+  margin-bottom: var(--bs-card-group-margin);
+}
+@media (min-width: 576px) {
+  .card-group {
+    display: flex;
+    flex-flow: row wrap;
+  }
+  .card-group > .card {
+    flex: 1 0 0%;
+    margin-bottom: 0;
+  }
+  .card-group > .card + .card {
+    margin-left: 0;
+    border-left: 0;
+  }
+  .card-group > .card:not(:last-child) {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
+  }
+  .card-group > .card:not(:last-child) .card-img-top,
+  .card-group > .card:not(:last-child) .card-header {
+    border-top-right-radius: 0;
+  }
+  .card-group > .card:not(:last-child) .card-img-bottom,
+  .card-group > .card:not(:last-child) .card-footer {
+    border-bottom-right-radius: 0;
+  }
+  .card-group > .card:not(:first-child) {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0;
+  }
+  .card-group > .card:not(:first-child) .card-img-top,
+  .card-group > .card:not(:first-child) .card-header {
+    border-top-left-radius: 0;
+  }
+  .card-group > .card:not(:first-child) .card-img-bottom,
+  .card-group > .card:not(:first-child) .card-footer {
+    border-bottom-left-radius: 0;
+  }
+}
+
+.accordion {
+  --bs-accordion-color: #212529;
+  --bs-accordion-bg: #fff;
+  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
+  --bs-accordion-border-color: var(--bs-border-color);
+  --bs-accordion-border-width: 1px;
+  --bs-accordion-border-radius: 0.375rem;
+  --bs-accordion-inner-border-radius: calc(0.375rem - 1px);
+  --bs-accordion-btn-padding-x: 1.25rem;
+  --bs-accordion-btn-padding-y: 1rem;
+  --bs-accordion-btn-color: #212529;
+  --bs-accordion-btn-bg: var(--bs-accordion-bg);
+  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+  --bs-accordion-btn-icon-width: 1.25rem;
+  --bs-accordion-btn-icon-transform: rotate(-180deg);
+  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
+  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+  --bs-accordion-btn-focus-border-color: #86b7fe;
+  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+  --bs-accordion-body-padding-x: 1.25rem;
+  --bs-accordion-body-padding-y: 1rem;
+  --bs-accordion-active-color: #0c63e4;
+  --bs-accordion-active-bg: #e7f1ff;
+}
+
+.accordion-button {
+  position: relative;
+  display: flex;
+  align-items: center;
+  width: 100%;
+  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
+  font-size: 1rem;
+  color: var(--bs-accordion-btn-color);
+  text-align: left;
+  background-color: var(--bs-accordion-btn-bg);
+  border: 0;
+  border-radius: 0;
+  overflow-anchor: none;
+  transition: var(--bs-accordion-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+  .accordion-button {
+    transition: none;
+  }
+}
+.accordion-button:not(.collapsed) {
+  color: var(--bs-accordion-active-color);
+  background-color: var(--bs-accordion-active-bg);
+  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
+}
+.accordion-button:not(.collapsed)::after {
+  background-image: var(--bs-accordion-btn-active-icon);
+  transform: var(--bs-accordion-btn-icon-transform);
+}
+.accordion-button::after {
+  flex-shrink: 0;
+  width: var(--bs-accordion-btn-icon-width);
+  height: var(--bs-accordion-btn-icon-width);
+  margin-left: auto;
+  content: "";
+  background-image: var(--bs-accordion-btn-icon);
+  background-repeat: no-repeat;
+  background-size: var(--bs-accordion-btn-icon-width);
+  transition: var(--bs-accordion-btn-icon-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+  .accordion-button::after {
+    transition: none;
+  }
+}
+.accordion-button:hover {
+  z-index: 2;
+}
+.accordion-button:focus {
+  z-index: 3;
+  border-color: var(--bs-accordion-btn-focus-border-color);
+  outline: 0;
+  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
+}
+
+.accordion-header {
+  margin-bottom: 0;
+}
+
+.accordion-item {
+  color: var(--bs-accordion-color);
+  background-color: var(--bs-accordion-bg);
+  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
+}
+.accordion-item:first-of-type {
+  border-top-left-radius: var(--bs-accordion-border-radius);
+  border-top-right-radius: var(--bs-accordion-border-radius);
+}
+.accordion-item:first-of-type .accordion-button {
+  border-top-left-radius: var(--bs-accordion-inner-border-radius);
+  border-top-right-radius: var(--bs-accordion-inner-border-radius);
+}
+.accordion-item:not(:first-of-type) {
+  border-top: 0;
+}
+.accordion-item:last-of-type {
+  border-bottom-right-radius: var(--bs-accordion-border-radius);
+  border-bottom-left-radius: var(--bs-accordion-border-radius);
+}
+.accordion-item:last-of-type .accordion-button.collapsed {
+  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
+  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
+}
+.accordion-item:last-of-type .accordion-collapse {
+  border-bottom-right-radius: var(--bs-accordion-border-radius);
+  border-bottom-left-radius: var(--bs-accordion-border-radius);
+}
+
+.accordion-body {
+  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
+}
+
+.accordion-flush .accordion-collapse {
+  border-width: 0;
+}
+.accordion-flush .accordion-item {
+  border-right: 0;
+  border-left: 0;
+  border-radius: 0;
+}
+.accordion-flush .accordion-item:first-child {
+  border-top: 0;
+}
+.accordion-flush .accordion-item:last-child {
+  border-bottom: 0;
+}
+.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
+  border-radius: 0;
+}
+
+.breadcrumb {
+  --bs-breadcrumb-padding-x: 0;
+  --bs-breadcrumb-padding-y: 0;
+  --bs-breadcrumb-margin-bottom: 1rem;
+  --bs-breadcrumb-bg: ;
+  --bs-breadcrumb-border-radius: ;
+  --bs-breadcrumb-divider-color: #6c757d;
+  --bs-breadcrumb-item-padding-x: 0.5rem;
+  --bs-breadcrumb-item-active-color: #6c757d;
+  display: flex;
+  flex-wrap: wrap;
+  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
+  margin-bottom: var(--bs-breadcrumb-margin-bottom);
+  font-size: var(--bs-breadcrumb-font-size);
+  list-style: none;
+  background-color: var(--bs-breadcrumb-bg);
+  border-radius: var(--bs-breadcrumb-border-radius);
+}
+
+.breadcrumb-item + .breadcrumb-item {
+  padding-left: var(--bs-breadcrumb-item-padding-x);
+}
+.breadcrumb-item + .breadcrumb-item::before {
+  float: left;
+  padding-right: var(--bs-breadcrumb-item-padding-x);
+  color: var(--bs-breadcrumb-divider-color);
+  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
+}
+.breadcrumb-item.active {
+  color: var(--bs-breadcrumb-item-active-color);
+}
+
+.pagination {
+  --bs-pagination-padding-x: 0.75rem;
+  --bs-pagination-padding-y: 0.375rem;
+  --bs-pagination-font-size: 1rem;
+  --bs-pagination-color: var(--bs-link-color);
+  --bs-pagination-bg: #fff;
+  --bs-pagination-border-width: 1px;
+  --bs-pagination-border-color: #dee2e6;
+  --bs-pagination-border-radius: 0.375rem;
+  --bs-pagination-hover-color: var(--bs-link-hover-color);
+  --bs-pagination-hover-bg: #e9ecef;
+  --bs-pagination-hover-border-color: #dee2e6;
+  --bs-pagination-focus-color: var(--bs-link-hover-color);
+  --bs-pagination-focus-bg: #e9ecef;
+  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+  --bs-pagination-active-color: #fff;
+  --bs-pagination-active-bg: #0d6efd;
+  --bs-pagination-active-border-color: #0d6efd;
+  --bs-pagination-disabled-color: #6c757d;
+  --bs-pagination-disabled-bg: #fff;
+  --bs-pagination-disabled-border-color: #dee2e6;
+  display: flex;
+  padding-left: 0;
+  list-style: none;
+}
+
+.page-link {
+  position: relative;
+  display: block;
+  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
+  font-size: var(--bs-pagination-font-size);
+  color: var(--bs-pagination-color);
+  text-decoration: none;
+  background-color: var(--bs-pagination-bg);
+  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
+  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .page-link {
+    transition: none;
+  }
+}
+.page-link:hover {
+  z-index: 2;
+  color: var(--bs-pagination-hover-color);
+  background-color: var(--bs-pagination-hover-bg);
+  border-color: var(--bs-pagination-hover-border-color);
+}
+.page-link:focus {
+  z-index: 3;
+  color: var(--bs-pagination-focus-color);
+  background-color: var(--bs-pagination-focus-bg);
+  outline: 0;
+  box-shadow: var(--bs-pagination-focus-box-shadow);
+}
+.page-link.active, .active > .page-link {
+  z-index: 3;
+  color: var(--bs-pagination-active-color);
+  background-color: var(--bs-pagination-active-bg);
+  border-color: var(--bs-pagination-active-border-color);
+}
+.page-link.disabled, .disabled > .page-link {
+  color: var(--bs-pagination-disabled-color);
+  pointer-events: none;
+  background-color: var(--bs-pagination-disabled-bg);
+  border-color: var(--bs-pagination-disabled-border-color);
+}
+
+.page-item:not(:first-child) .page-link {
+  margin-left: -1px;
+}
+.page-item:first-child .page-link {
+  border-top-left-radius: var(--bs-pagination-border-radius);
+  border-bottom-left-radius: var(--bs-pagination-border-radius);
+}
+.page-item:last-child .page-link {
+  border-top-right-radius: var(--bs-pagination-border-radius);
+  border-bottom-right-radius: var(--bs-pagination-border-radius);
+}
+
+.pagination-lg {
+  --bs-pagination-padding-x: 1.5rem;
+  --bs-pagination-padding-y: 0.75rem;
+  --bs-pagination-font-size: 1.25rem;
+  --bs-pagination-border-radius: 0.5rem;
+}
+
+.pagination-sm {
+  --bs-pagination-padding-x: 0.5rem;
+  --bs-pagination-padding-y: 0.25rem;
+  --bs-pagination-font-size: 0.875rem;
+  --bs-pagination-border-radius: 0.25rem;
+}
+
+.badge {
+  --bs-badge-padding-x: 0.65em;
+  --bs-badge-padding-y: 0.35em;
+  --bs-badge-font-size: 0.75em;
+  --bs-badge-font-weight: 700;
+  --bs-badge-color: #fff;
+  --bs-badge-border-radius: 0.375rem;
+  display: inline-block;
+  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
+  font-size: var(--bs-badge-font-size);
+  font-weight: var(--bs-badge-font-weight);
+  line-height: 1;
+  color: var(--bs-badge-color);
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: baseline;
+  border-radius: var(--bs-badge-border-radius);
+}
+.badge:empty {
+  display: none;
+}
+
+.btn .badge {
+  position: relative;
+  top: -1px;
+}
+
+.alert {
+  --bs-alert-bg: transparent;
+  --bs-alert-padding-x: 1rem;
+  --bs-alert-padding-y: 1rem;
+  --bs-alert-margin-bottom: 1rem;
+  --bs-alert-color: inherit;
+  --bs-alert-border-color: transparent;
+  --bs-alert-border: 1px solid var(--bs-alert-border-color);
+  --bs-alert-border-radius: 0.375rem;
+  position: relative;
+  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
+  margin-bottom: var(--bs-alert-margin-bottom);
+  color: var(--bs-alert-color);
+  background-color: var(--bs-alert-bg);
+  border: var(--bs-alert-border);
+  border-radius: var(--bs-alert-border-radius);
+}
+
+.alert-heading {
+  color: inherit;
+}
+
+.alert-link {
+  font-weight: 700;
+}
+
+.alert-dismissible {
+  padding-right: 3rem;
+}
+.alert-dismissible .btn-close {
+  position: absolute;
+  top: 0;
+  right: 0;
+  z-index: 2;
+  padding: 1.25rem 1rem;
+}
+
+.alert-primary {
+  --bs-alert-color: #084298;
+  --bs-alert-bg: #cfe2ff;
+  --bs-alert-border-color: #b6d4fe;
+}
+.alert-primary .alert-link {
+  color: #06357a;
+}
+
+.alert-secondary {
+  --bs-alert-color: #41464b;
+  --bs-alert-bg: #e2e3e5;
+  --bs-alert-border-color: #d3d6d8;
+}
+.alert-secondary .alert-link {
+  color: #34383c;
+}
+
+.alert-success {
+  --bs-alert-color: #0f5132;
+  --bs-alert-bg: #d1e7dd;
+  --bs-alert-border-color: #badbcc;
+}
+.alert-success .alert-link {
+  color: #0c4128;
+}
+
+.alert-info {
+  --bs-alert-color: #055160;
+  --bs-alert-bg: #cff4fc;
+  --bs-alert-border-color: #b6effb;
+}
+.alert-info .alert-link {
+  color: #04414d;
+}
+
+.alert-warning {
+  --bs-alert-color: #664d03;
+  --bs-alert-bg: #fff3cd;
+  --bs-alert-border-color: #ffecb5;
+}
+.alert-warning .alert-link {
+  color: #523e02;
+}
+
+.alert-danger {
+  --bs-alert-color: #842029;
+  --bs-alert-bg: #f8d7da;
+  --bs-alert-border-color: #f5c2c7;
+}
+.alert-danger .alert-link {
+  color: #6a1a21;
+}
+
+.alert-light {
+  --bs-alert-color: #636464;
+  --bs-alert-bg: #fefefe;
+  --bs-alert-border-color: #fdfdfe;
+}
+.alert-light .alert-link {
+  color: #4f5050;
+}
+
+.alert-dark {
+  --bs-alert-color: #141619;
+  --bs-alert-bg: #d3d3d4;
+  --bs-alert-border-color: #bcbebf;
+}
+.alert-dark .alert-link {
+  color: #101214;
+}
+
+@keyframes progress-bar-stripes {
+  0% {
+    background-position-x: 1rem;
+  }
+}
+.progress {
+  --bs-progress-height: 1rem;
+  --bs-progress-font-size: 0.75rem;
+  --bs-progress-bg: #e9ecef;
+  --bs-progress-border-radius: 0.375rem;
+  --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
+  --bs-progress-bar-color: #fff;
+  --bs-progress-bar-bg: #0d6efd;
+  --bs-progress-bar-transition: width 0.6s ease;
+  display: flex;
+  height: var(--bs-progress-height);
+  overflow: hidden;
+  font-size: var(--bs-progress-font-size);
+  background-color: var(--bs-progress-bg);
+  border-radius: var(--bs-progress-border-radius);
+}
+
+.progress-bar {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  overflow: hidden;
+  color: var(--bs-progress-bar-color);
+  text-align: center;
+  white-space: nowrap;
+  background-color: var(--bs-progress-bar-bg);
+  transition: var(--bs-progress-bar-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+  .progress-bar {
+    transition: none;
+  }
+}
+
+.progress-bar-striped {
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-size: var(--bs-progress-height) var(--bs-progress-height);
+}
+
+.progress-bar-animated {
+  animation: 1s linear infinite progress-bar-stripes;
+}
+@media (prefers-reduced-motion: reduce) {
+  .progress-bar-animated {
+    animation: none;
+  }
+}
+
+.list-group {
+  --bs-list-group-color: #212529;
+  --bs-list-group-bg: #fff;
+  --bs-list-group-border-color: rgba(0, 0, 0, 0.125);
+  --bs-list-group-border-width: 1px;
+  --bs-list-group-border-radius: 0.375rem;
+  --bs-list-group-item-padding-x: 1rem;
+  --bs-list-group-item-padding-y: 0.5rem;
+  --bs-list-group-action-color: #495057;
+  --bs-list-group-action-hover-color: #495057;
+  --bs-list-group-action-hover-bg: #f8f9fa;
+  --bs-list-group-action-active-color: #212529;
+  --bs-list-group-action-active-bg: #e9ecef;
+  --bs-list-group-disabled-color: #6c757d;
+  --bs-list-group-disabled-bg: #fff;
+  --bs-list-group-active-color: #fff;
+  --bs-list-group-active-bg: #0d6efd;
+  --bs-list-group-active-border-color: #0d6efd;
+  display: flex;
+  flex-direction: column;
+  padding-left: 0;
+  margin-bottom: 0;
+  border-radius: var(--bs-list-group-border-radius);
+}
+
+.list-group-numbered {
+  list-style-type: none;
+  counter-reset: section;
+}
+.list-group-numbered > .list-group-item::before {
+  content: counters(section, ".") ". ";
+  counter-increment: section;
+}
+
+.list-group-item-action {
+  width: 100%;
+  color: var(--bs-list-group-action-color);
+  text-align: inherit;
+}
+.list-group-item-action:hover, .list-group-item-action:focus {
+  z-index: 1;
+  color: var(--bs-list-group-action-hover-color);
+  text-decoration: none;
+  background-color: var(--bs-list-group-action-hover-bg);
+}
+.list-group-item-action:active {
+  color: var(--bs-list-group-action-active-color);
+  background-color: var(--bs-list-group-action-active-bg);
+}
+
+.list-group-item {
+  position: relative;
+  display: block;
+  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
+  color: var(--bs-list-group-color);
+  text-decoration: none;
+  background-color: var(--bs-list-group-bg);
+  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
+}
+.list-group-item:first-child {
+  border-top-left-radius: inherit;
+  border-top-right-radius: inherit;
+}
+.list-group-item:last-child {
+  border-bottom-right-radius: inherit;
+  border-bottom-left-radius: inherit;
+}
+.list-group-item.disabled, .list-group-item:disabled {
+  color: var(--bs-list-group-disabled-color);
+  pointer-events: none;
+  background-color: var(--bs-list-group-disabled-bg);
+}
+.list-group-item.active {
+  z-index: 2;
+  color: var(--bs-list-group-active-color);
+  background-color: var(--bs-list-group-active-bg);
+  border-color: var(--bs-list-group-active-border-color);
+}
+.list-group-item + .list-group-item {
+  border-top-width: 0;
+}
+.list-group-item + .list-group-item.active {
+  margin-top: calc(-1 * var(--bs-list-group-border-width));
+  border-top-width: var(--bs-list-group-border-width);
+}
+
+.list-group-horizontal {
+  flex-direction: row;
+}
+.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
+  border-bottom-left-radius: var(--bs-list-group-border-radius);
+  border-top-right-radius: 0;
+}
+.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
+  border-top-right-radius: var(--bs-list-group-border-radius);
+  border-bottom-left-radius: 0;
+}
+.list-group-horizontal > .list-group-item.active {
+  margin-top: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item {
+  border-top-width: var(--bs-list-group-border-width);
+  border-left-width: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item.active {
+  margin-left: calc(-1 * var(--bs-list-group-border-width));
+  border-left-width: var(--bs-list-group-border-width);
+}
+
+@media (min-width: 576px) {
+  .list-group-horizontal-sm {
+    flex-direction: row;
+  }
+  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
+    border-bottom-left-radius: var(--bs-list-group-border-radius);
+    border-top-right-radius: 0;
+  }
+  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
+    border-top-right-radius: var(--bs-list-group-border-radius);
+    border-bottom-left-radius: 0;
+  }
+  .list-group-horizontal-sm > .list-group-item.active {
+    margin-top: 0;
+  }
+  .list-group-horizontal-sm > .list-group-item + .list-group-item {
+    border-top-width: var(--bs-list-group-border-width);
+    border-left-width: 0;
+  }
+  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+    margin-left: calc(-1 * var(--bs-list-group-border-width));
+    border-left-width: var(--bs-list-group-border-width);
+  }
+}
+@media (min-width: 768px) {
+  .list-group-horizontal-md {
+    flex-direction: row;
+  }
+  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
+    border-bottom-left-radius: var(--bs-list-group-border-radius);
+    border-top-right-radius: 0;
+  }
+  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
+    border-top-right-radius: var(--bs-list-group-border-radius);
+    border-bottom-left-radius: 0;
+  }
+  .list-group-horizontal-md > .list-group-item.active {
+    margin-top: 0;
+  }
+  .list-group-horizontal-md > .list-group-item + .list-group-item {
+    border-top-width: var(--bs-list-group-border-width);
+    border-left-width: 0;
+  }
+  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+    margin-left: calc(-1 * var(--bs-list-group-border-width));
+    border-left-width: var(--bs-list-group-border-width);
+  }
+}
+@media (min-width: 992px) {
+  .list-group-horizontal-lg {
+    flex-direction: row;
+  }
+  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
+    border-bottom-left-radius: var(--bs-list-group-border-radius);
+    border-top-right-radius: 0;
+  }
+  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
+    border-top-right-radius: var(--bs-list-group-border-radius);
+    border-bottom-left-radius: 0;
+  }
+  .list-group-horizontal-lg > .list-group-item.active {
+    margin-top: 0;
+  }
+  .list-group-horizontal-lg > .list-group-item + .list-group-item {
+    border-top-width: var(--bs-list-group-border-width);
+    border-left-width: 0;
+  }
+  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+    margin-left: calc(-1 * var(--bs-list-group-border-width));
+    border-left-width: var(--bs-list-group-border-width);
+  }
+}
+@media (min-width: 1200px) {
+  .list-group-horizontal-xl {
+    flex-direction: row;
+  }
+  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
+    border-bottom-left-radius: var(--bs-list-group-border-radius);
+    border-top-right-radius: 0;
+  }
+  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
+    border-top-right-radius: var(--bs-list-group-border-radius);
+    border-bottom-left-radius: 0;
+  }
+  .list-group-horizontal-xl > .list-group-item.active {
+    margin-top: 0;
+  }
+  .list-group-horizontal-xl > .list-group-item + .list-group-item {
+    border-top-width: var(--bs-list-group-border-width);
+    border-left-width: 0;
+  }
+  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+    margin-left: calc(-1 * var(--bs-list-group-border-width));
+    border-left-width: var(--bs-list-group-border-width);
+  }
+}
+@media (min-width: 1400px) {
+  .list-group-horizontal-xxl {
+    flex-direction: row;
+  }
+  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
+    border-bottom-left-radius: var(--bs-list-group-border-radius);
+    border-top-right-radius: 0;
+  }
+  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
+    border-top-right-radius: var(--bs-list-group-border-radius);
+    border-bottom-left-radius: 0;
+  }
+  .list-group-horizontal-xxl > .list-group-item.active {
+    margin-top: 0;
+  }
+  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
+    border-top-width: var(--bs-list-group-border-width);
+    border-left-width: 0;
+  }
+  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
+    margin-left: calc(-1 * var(--bs-list-group-border-width));
+    border-left-width: var(--bs-list-group-border-width);
+  }
+}
+.list-group-flush {
+  border-radius: 0;
+}
+.list-group-flush > .list-group-item {
+  border-width: 0 0 var(--bs-list-group-border-width);
+}
+.list-group-flush > .list-group-item:last-child {
+  border-bottom-width: 0;
+}
+
+.list-group-item-primary {
+  color: #084298;
+  background-color: #cfe2ff;
+}
+.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
+  color: #084298;
+  background-color: #bacbe6;
+}
+.list-group-item-primary.list-group-item-action.active {
+  color: #fff;
+  background-color: #084298;
+  border-color: #084298;
+}
+
+.list-group-item-secondary {
+  color: #41464b;
+  background-color: #e2e3e5;
+}
+.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
+  color: #41464b;
+  background-color: #cbccce;
+}
+.list-group-item-secondary.list-group-item-action.active {
+  color: #fff;
+  background-color: #41464b;
+  border-color: #41464b;
+}
+
+.list-group-item-success {
+  color: #0f5132;
+  background-color: #d1e7dd;
+}
+.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
+  color: #0f5132;
+  background-color: #bcd0c7;
+}
+.list-group-item-success.list-group-item-action.active {
+  color: #fff;
+  background-color: #0f5132;
+  border-color: #0f5132;
+}
+
+.list-group-item-info {
+  color: #055160;
+  background-color: #cff4fc;
+}
+.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
+  color: #055160;
+  background-color: #badce3;
+}
+.list-group-item-info.list-group-item-action.active {
+  color: #fff;
+  background-color: #055160;
+  border-color: #055160;
+}
+
+.list-group-item-warning {
+  color: #664d03;
+  background-color: #fff3cd;
+}
+.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
+  color: #664d03;
+  background-color: #e6dbb9;
+}
+.list-group-item-warning.list-group-item-action.active {
+  color: #fff;
+  background-color: #664d03;
+  border-color: #664d03;
+}
+
+.list-group-item-danger {
+  color: #842029;
+  background-color: #f8d7da;
+}
+.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
+  color: #842029;
+  background-color: #dfc2c4;
+}
+.list-group-item-danger.list-group-item-action.active {
+  color: #fff;
+  background-color: #842029;
+  border-color: #842029;
+}
+
+.list-group-item-light {
+  color: #636464;
+  background-color: #fefefe;
+}
+.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
+  color: #636464;
+  background-color: #e5e5e5;
+}
+.list-group-item-light.list-group-item-action.active {
+  color: #fff;
+  background-color: #636464;
+  border-color: #636464;
+}
+
+.list-group-item-dark {
+  color: #141619;
+  background-color: #d3d3d4;
+}
+.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
+  color: #141619;
+  background-color: #bebebf;
+}
+.list-group-item-dark.list-group-item-action.active {
+  color: #fff;
+  background-color: #141619;
+  border-color: #141619;
+}
+
+.btn-close {
+  box-sizing: content-box;
+  width: 1em;
+  height: 1em;
+  padding: 0.25em 0.25em;
+  color: #000;
+  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
+  border: 0;
+  border-radius: 0.375rem;
+  opacity: 0.5;
+}
+.btn-close:hover {
+  color: #000;
+  text-decoration: none;
+  opacity: 0.75;
+}
+.btn-close:focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+  opacity: 1;
+}
+.btn-close:disabled, .btn-close.disabled {
+  pointer-events: none;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+          user-select: none;
+  opacity: 0.25;
+}
+
+.btn-close-white {
+  filter: invert(1) grayscale(100%) brightness(200%);
+}
+
+.toast {
+  --bs-toast-zindex: 1090;
+  --bs-toast-padding-x: 0.75rem;
+  --bs-toast-padding-y: 0.5rem;
+  --bs-toast-spacing: 1.5rem;
+  --bs-toast-max-width: 350px;
+  --bs-toast-font-size: 0.875rem;
+  --bs-toast-color: ;
+  --bs-toast-bg: rgba(255, 255, 255, 0.85);
+  --bs-toast-border-width: 1px;
+  --bs-toast-border-color: var(--bs-border-color-translucent);
+  --bs-toast-border-radius: 0.375rem;
+  --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+  --bs-toast-header-color: #6c757d;
+  --bs-toast-header-bg: rgba(255, 255, 255, 0.85);
+  --bs-toast-header-border-color: rgba(0, 0, 0, 0.05);
+  width: var(--bs-toast-max-width);
+  max-width: 100%;
+  font-size: var(--bs-toast-font-size);
+  color: var(--bs-toast-color);
+  pointer-events: auto;
+  background-color: var(--bs-toast-bg);
+  background-clip: padding-box;
+  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
+  box-shadow: var(--bs-toast-box-shadow);
+  border-radius: var(--bs-toast-border-radius);
+}
+.toast.showing {
+  opacity: 0;
+}
+.toast:not(.show) {
+  display: none;
+}
+
+.toast-container {
+  --bs-toast-zindex: 1090;
+  position: absolute;
+  z-index: var(--bs-toast-zindex);
+  width: -moz-max-content;
+  width: max-content;
+  max-width: 100%;
+  pointer-events: none;
+}
+.toast-container > :not(:last-child) {
+  margin-bottom: var(--bs-toast-spacing);
+}
+
+.toast-header {
+  display: flex;
+  align-items: center;
+  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
+  color: var(--bs-toast-header-color);
+  background-color: var(--bs-toast-header-bg);
+  background-clip: padding-box;
+  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
+  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
+  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
+}
+.toast-header .btn-close {
+  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
+  margin-left: var(--bs-toast-padding-x);
+}
+
+.toast-body {
+  padding: var(--bs-toast-padding-x);
+  word-wrap: break-word;
+}
+
+.modal {
+  --bs-modal-zindex: 1055;
+  --bs-modal-width: 500px;
+  --bs-modal-padding: 1rem;
+  --bs-modal-margin: 0.5rem;
+  --bs-modal-color: ;
+  --bs-modal-bg: #fff;
+  --bs-modal-border-color: var(--bs-border-color-translucent);
+  --bs-modal-border-width: 1px;
+  --bs-modal-border-radius: 0.5rem;
+  --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
+  --bs-modal-inner-border-radius: calc(0.5rem - 1px);
+  --bs-modal-header-padding-x: 1rem;
+  --bs-modal-header-padding-y: 1rem;
+  --bs-modal-header-padding: 1rem 1rem;
+  --bs-modal-header-border-color: var(--bs-border-color);
+  --bs-modal-header-border-width: 1px;
+  --bs-modal-title-line-height: 1.5;
+  --bs-modal-footer-gap: 0.5rem;
+  --bs-modal-footer-bg: ;
+  --bs-modal-footer-border-color: var(--bs-border-color);
+  --bs-modal-footer-border-width: 1px;
+  position: fixed;
+  top: 0;
+  left: 0;
+  z-index: var(--bs-modal-zindex);
+  display: none;
+  width: 100%;
+  height: 100%;
+  overflow-x: hidden;
+  overflow-y: auto;
+  outline: 0;
+}
+
+.modal-dialog {
+  position: relative;
+  width: auto;
+  margin: var(--bs-modal-margin);
+  pointer-events: none;
+}
+.modal.fade .modal-dialog {
+  transition: transform 0.3s ease-out;
+  transform: translate(0, -50px);
+}
+@media (prefers-reduced-motion: reduce) {
+  .modal.fade .modal-dialog {
+    transition: none;
+  }
+}
+.modal.show .modal-dialog {
+  transform: none;
+}
+.modal.modal-static .modal-dialog {
+  transform: scale(1.02);
+}
+
+.modal-dialog-scrollable {
+  height: calc(100% - var(--bs-modal-margin) * 2);
+}
+.modal-dialog-scrollable .modal-content {
+  max-height: 100%;
+  overflow: hidden;
+}
+.modal-dialog-scrollable .modal-body {
+  overflow-y: auto;
+}
+
+.modal-dialog-centered {
+  display: flex;
+  align-items: center;
+  min-height: calc(100% - var(--bs-modal-margin) * 2);
+}
+
+.modal-content {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  color: var(--bs-modal-color);
+  pointer-events: auto;
+  background-color: var(--bs-modal-bg);
+  background-clip: padding-box;
+  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
+  border-radius: var(--bs-modal-border-radius);
+  outline: 0;
+}
+
+.modal-backdrop {
+  --bs-backdrop-zindex: 1050;
+  --bs-backdrop-bg: #000;
+  --bs-backdrop-opacity: 0.5;
+  position: fixed;
+  top: 0;
+  left: 0;
+  z-index: var(--bs-backdrop-zindex);
+  width: 100vw;
+  height: 100vh;
+  background-color: var(--bs-backdrop-bg);
+}
+.modal-backdrop.fade {
+  opacity: 0;
+}
+.modal-backdrop.show {
+  opacity: var(--bs-backdrop-opacity);
+}
+
+.modal-header {
+  display: flex;
+  flex-shrink: 0;
+  align-items: center;
+  justify-content: space-between;
+  padding: var(--bs-modal-header-padding);
+  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
+  border-top-left-radius: var(--bs-modal-inner-border-radius);
+  border-top-right-radius: var(--bs-modal-inner-border-radius);
+}
+.modal-header .btn-close {
+  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
+  margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
+}
+
+.modal-title {
+  margin-bottom: 0;
+  line-height: var(--bs-modal-title-line-height);
+}
+
+.modal-body {
+  position: relative;
+  flex: 1 1 auto;
+  padding: var(--bs-modal-padding);
+}
+
+.modal-footer {
+  display: flex;
+  flex-shrink: 0;
+  flex-wrap: wrap;
+  align-items: center;
+  justify-content: flex-end;
+  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
+  background-color: var(--bs-modal-footer-bg);
+  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
+  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
+  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
+}
+.modal-footer > * {
+  margin: calc(var(--bs-modal-footer-gap) * 0.5);
+}
+
+@media (min-width: 576px) {
+  .modal {
+    --bs-modal-margin: 1.75rem;
+    --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+  }
+  .modal-dialog {
+    max-width: var(--bs-modal-width);
+    margin-right: auto;
+    margin-left: auto;
+  }
+  .modal-sm {
+    --bs-modal-width: 300px;
+  }
+}
+@media (min-width: 992px) {
+  .modal-lg,
+  .modal-xl {
+    --bs-modal-width: 800px;
+  }
+}
+@media (min-width: 1200px) {
+  .modal-xl {
+    --bs-modal-width: 1140px;
+  }
+}
+.modal-fullscreen {
+  width: 100vw;
+  max-width: none;
+  height: 100%;
+  margin: 0;
+}
+.modal-fullscreen .modal-content {
+  height: 100%;
+  border: 0;
+  border-radius: 0;
+}
+.modal-fullscreen .modal-header,
+.modal-fullscreen .modal-footer {
+  border-radius: 0;
+}
+.modal-fullscreen .modal-body {
+  overflow-y: auto;
+}
+
+@media (max-width: 575.98px) {
+  .modal-fullscreen-sm-down {
+    width: 100vw;
+    max-width: none;
+    height: 100%;
+    margin: 0;
+  }
+  .modal-fullscreen-sm-down .modal-content {
+    height: 100%;
+    border: 0;
+    border-radius: 0;
+  }
+  .modal-fullscreen-sm-down .modal-header,
+  .modal-fullscreen-sm-down .modal-footer {
+    border-radius: 0;
+  }
+  .modal-fullscreen-sm-down .modal-body {
+    overflow-y: auto;
+  }
+}
+@media (max-width: 767.98px) {
+  .modal-fullscreen-md-down {
+    width: 100vw;
+    max-width: none;
+    height: 100%;
+    margin: 0;
+  }
+  .modal-fullscreen-md-down .modal-content {
+    height: 100%;
+    border: 0;
+    border-radius: 0;
+  }
+  .modal-fullscreen-md-down .modal-header,
+  .modal-fullscreen-md-down .modal-footer {
+    border-radius: 0;
+  }
+  .modal-fullscreen-md-down .modal-body {
+    overflow-y: auto;
+  }
+}
+@media (max-width: 991.98px) {
+  .modal-fullscreen-lg-down {
+    width: 100vw;
+    max-width: none;
+    height: 100%;
+    margin: 0;
+  }
+  .modal-fullscreen-lg-down .modal-content {
+    height: 100%;
+    border: 0;
+    border-radius: 0;
+  }
+  .modal-fullscreen-lg-down .modal-header,
+  .modal-fullscreen-lg-down .modal-footer {
+    border-radius: 0;
+  }
+  .modal-fullscreen-lg-down .modal-body {
+    overflow-y: auto;
+  }
+}
+@media (max-width: 1199.98px) {
+  .modal-fullscreen-xl-down {
+    width: 100vw;
+    max-width: none;
+    height: 100%;
+    margin: 0;
+  }
+  .modal-fullscreen-xl-down .modal-content {
+    height: 100%;
+    border: 0;
+    border-radius: 0;
+  }
+  .modal-fullscreen-xl-down .modal-header,
+  .modal-fullscreen-xl-down .modal-footer {
+    border-radius: 0;
+  }
+  .modal-fullscreen-xl-down .modal-body {
+    overflow-y: auto;
+  }
+}
+@media (max-width: 1399.98px) {
+  .modal-fullscreen-xxl-down {
+    width: 100vw;
+    max-width: none;
+    height: 100%;
+    margin: 0;
+  }
+  .modal-fullscreen-xxl-down .modal-content {
+    height: 100%;
+    border: 0;
+    border-radius: 0;
+  }
+  .modal-fullscreen-xxl-down .modal-header,
+  .modal-fullscreen-xxl-down .modal-footer {
+    border-radius: 0;
+  }
+  .modal-fullscreen-xxl-down .modal-body {
+    overflow-y: auto;
+  }
+}
+.tooltip {
+  --bs-tooltip-zindex: 1080;
+  --bs-tooltip-max-width: 200px;
+  --bs-tooltip-padding-x: 0.5rem;
+  --bs-tooltip-padding-y: 0.25rem;
+  --bs-tooltip-margin: ;
+  --bs-tooltip-font-size: 0.875rem;
+  --bs-tooltip-color: #fff;
+  --bs-tooltip-bg: #000;
+  --bs-tooltip-border-radius: 0.375rem;
+  --bs-tooltip-opacity: 0.9;
+  --bs-tooltip-arrow-width: 0.8rem;
+  --bs-tooltip-arrow-height: 0.4rem;
+  z-index: var(--bs-tooltip-zindex);
+  display: block;
+  padding: var(--bs-tooltip-arrow-height);
+  margin: var(--bs-tooltip-margin);
+  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  font-style: normal;
+  font-weight: 400;
+  line-height: 1.5;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  white-space: normal;
+  word-spacing: normal;
+  line-break: auto;
+  font-size: var(--bs-tooltip-font-size);
+  word-wrap: break-word;
+  opacity: 0;
+}
+.tooltip.show {
+  opacity: var(--bs-tooltip-opacity);
+}
+.tooltip .tooltip-arrow {
+  display: block;
+  width: var(--bs-tooltip-arrow-width);
+  height: var(--bs-tooltip-arrow-height);
+}
+.tooltip .tooltip-arrow::before {
+  position: absolute;
+  content: "";
+  border-color: transparent;
+  border-style: solid;
+}
+
+.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
+  bottom: 0;
+}
+.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
+  top: -1px;
+  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
+  border-top-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
+  left: 0;
+  width: var(--bs-tooltip-arrow-height);
+  height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
+  right: -1px;
+  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
+  border-right-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:end:ignore */
+.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
+  top: 0;
+}
+.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
+  bottom: -1px;
+  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+  border-bottom-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
+  right: 0;
+  width: var(--bs-tooltip-arrow-height);
+  height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
+  left: -1px;
+  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+  border-left-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:end:ignore */
+.tooltip-inner {
+  max-width: var(--bs-tooltip-max-width);
+  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
+  color: var(--bs-tooltip-color);
+  text-align: center;
+  background-color: var(--bs-tooltip-bg);
+  border-radius: var(--bs-tooltip-border-radius);
+}
+
+.popover {
+  --bs-popover-zindex: 1070;
+  --bs-popover-max-width: 276px;
+  --bs-popover-font-size: 0.875rem;
+  --bs-popover-bg: #fff;
+  --bs-popover-border-width: 1px;
+  --bs-popover-border-color: var(--bs-border-color-translucent);
+  --bs-popover-border-radius: 0.5rem;
+  --bs-popover-inner-border-radius: calc(0.5rem - 1px);
+  --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+  --bs-popover-header-padding-x: 1rem;
+  --bs-popover-header-padding-y: 0.5rem;
+  --bs-popover-header-font-size: 1rem;
+  --bs-popover-header-color: ;
+  --bs-popover-header-bg: #f0f0f0;
+  --bs-popover-body-padding-x: 1rem;
+  --bs-popover-body-padding-y: 1rem;
+  --bs-popover-body-color: #212529;
+  --bs-popover-arrow-width: 1rem;
+  --bs-popover-arrow-height: 0.5rem;
+  --bs-popover-arrow-border: var(--bs-popover-border-color);
+  z-index: var(--bs-popover-zindex);
+  display: block;
+  max-width: var(--bs-popover-max-width);
+  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  font-style: normal;
+  font-weight: 400;
+  line-height: 1.5;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  white-space: normal;
+  word-spacing: normal;
+  line-break: auto;
+  font-size: var(--bs-popover-font-size);
+  word-wrap: break-word;
+  background-color: var(--bs-popover-bg);
+  background-clip: padding-box;
+  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+  border-radius: var(--bs-popover-border-radius);
+}
+.popover .popover-arrow {
+  display: block;
+  width: var(--bs-popover-arrow-width);
+  height: var(--bs-popover-arrow-height);
+}
+.popover .popover-arrow::before, .popover .popover-arrow::after {
+  position: absolute;
+  display: block;
+  content: "";
+  border-color: transparent;
+  border-style: solid;
+  border-width: 0;
+}
+
+.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
+  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
+  bottom: 0;
+  border-top-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+  bottom: var(--bs-popover-border-width);
+  border-top-color: var(--bs-popover-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
+  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+  width: var(--bs-popover-arrow-height);
+  height: var(--bs-popover-arrow-width);
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
+  left: 0;
+  border-right-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+  left: var(--bs-popover-border-width);
+  border-right-color: var(--bs-popover-bg);
+}
+
+/* rtl:end:ignore */
+.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
+  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
+  top: 0;
+  border-bottom-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+  top: var(--bs-popover-border-width);
+  border-bottom-color: var(--bs-popover-bg);
+}
+.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
+  position: absolute;
+  top: 0;
+  left: 50%;
+  display: block;
+  width: var(--bs-popover-arrow-width);
+  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
+  content: "";
+  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
+  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+  width: var(--bs-popover-arrow-height);
+  height: var(--bs-popover-arrow-width);
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
+  right: 0;
+  border-left-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+  right: var(--bs-popover-border-width);
+  border-left-color: var(--bs-popover-bg);
+}
+
+/* rtl:end:ignore */
+.popover-header {
+  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
+  margin-bottom: 0;
+  font-size: var(--bs-popover-header-font-size);
+  color: var(--bs-popover-header-color);
+  background-color: var(--bs-popover-header-bg);
+  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+  border-top-left-radius: var(--bs-popover-inner-border-radius);
+  border-top-right-radius: var(--bs-popover-inner-border-radius);
+}
+.popover-header:empty {
+  display: none;
+}
+
+.popover-body {
+  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
+  color: var(--bs-popover-body-color);
+}
+
+.carousel {
+  position: relative;
+}
+
+.carousel.pointer-event {
+  touch-action: pan-y;
+}
+
+.carousel-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+}
+.carousel-inner::after {
+  display: block;
+  clear: both;
+  content: "";
+}
+
+.carousel-item {
+  position: relative;
+  display: none;
+  float: left;
+  width: 100%;
+  margin-right: -100%;
+  -webkit-backface-visibility: hidden;
+          backface-visibility: hidden;
+  transition: transform 0.6s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .carousel-item {
+    transition: none;
+  }
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+  display: block;
+}
+
+.carousel-item-next:not(.carousel-item-start),
+.active.carousel-item-end {
+  transform: translateX(100%);
+}
+
+.carousel-item-prev:not(.carousel-item-end),
+.active.carousel-item-start {
+  transform: translateX(-100%);
+}
+
+.carousel-fade .carousel-item {
+  opacity: 0;
+  transition-property: opacity;
+  transform: none;
+}
+.carousel-fade .carousel-item.active,
+.carousel-fade .carousel-item-next.carousel-item-start,
+.carousel-fade .carousel-item-prev.carousel-item-end {
+  z-index: 1;
+  opacity: 1;
+}
+.carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+  z-index: 0;
+  opacity: 0;
+  transition: opacity 0s 0.6s;
+}
+@media (prefers-reduced-motion: reduce) {
+  .carousel-fade .active.carousel-item-start,
+  .carousel-fade .active.carousel-item-end {
+    transition: none;
+  }
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  z-index: 1;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 15%;
+  padding: 0;
+  color: #fff;
+  text-align: center;
+  background: none;
+  border: 0;
+  opacity: 0.5;
+  transition: opacity 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+  .carousel-control-prev,
+  .carousel-control-next {
+    transition: none;
+  }
+}
+.carousel-control-prev:hover, .carousel-control-prev:focus,
+.carousel-control-next:hover,
+.carousel-control-next:focus {
+  color: #fff;
+  text-decoration: none;
+  outline: 0;
+  opacity: 0.9;
+}
+
+.carousel-control-prev {
+  left: 0;
+}
+
+.carousel-control-next {
+  right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+  display: inline-block;
+  width: 2rem;
+  height: 2rem;
+  background-repeat: no-repeat;
+  background-position: 50%;
+  background-size: 100% 100%;
+}
+
+/* rtl:options: {
+  "autoRename": true,
+  "stringMap":[ {
+    "name"    : "prev-next",
+    "search"  : "prev",
+    "replace" : "next"
+  } ]
+} */
+.carousel-control-prev-icon {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
+}
+
+.carousel-control-next-icon {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+}
+
+.carousel-indicators {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 2;
+  display: flex;
+  justify-content: center;
+  padding: 0;
+  margin-right: 15%;
+  margin-bottom: 1rem;
+  margin-left: 15%;
+  list-style: none;
+}
+.carousel-indicators [data-bs-target] {
+  box-sizing: content-box;
+  flex: 0 1 auto;
+  width: 30px;
+  height: 3px;
+  padding: 0;
+  margin-right: 3px;
+  margin-left: 3px;
+  text-indent: -999px;
+  cursor: pointer;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 0;
+  border-top: 10px solid transparent;
+  border-bottom: 10px solid transparent;
+  opacity: 0.5;
+  transition: opacity 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+  .carousel-indicators [data-bs-target] {
+    transition: none;
+  }
+}
+.carousel-indicators .active {
+  opacity: 1;
+}
+
+.carousel-caption {
+  position: absolute;
+  right: 15%;
+  bottom: 1.25rem;
+  left: 15%;
+  padding-top: 1.25rem;
+  padding-bottom: 1.25rem;
+  color: #fff;
+  text-align: center;
+}
+
+.carousel-dark .carousel-control-prev-icon,
+.carousel-dark .carousel-control-next-icon {
+  filter: invert(1) grayscale(100);
+}
+.carousel-dark .carousel-indicators [data-bs-target] {
+  background-color: #000;
+}
+.carousel-dark .carousel-caption {
+  color: #000;
+}
+
+.spinner-grow,
+.spinner-border {
+  display: inline-block;
+  width: var(--bs-spinner-width);
+  height: var(--bs-spinner-height);
+  vertical-align: var(--bs-spinner-vertical-align);
+  border-radius: 50%;
+  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
+}
+
+@keyframes spinner-border {
+  to {
+    transform: rotate(360deg) /* rtl:ignore */;
+  }
+}
+.spinner-border {
+  --bs-spinner-width: 2rem;
+  --bs-spinner-height: 2rem;
+  --bs-spinner-vertical-align: -0.125em;
+  --bs-spinner-border-width: 0.25em;
+  --bs-spinner-animation-speed: 0.75s;
+  --bs-spinner-animation-name: spinner-border;
+  border: var(--bs-spinner-border-width) solid currentcolor;
+  border-right-color: transparent;
+}
+
+.spinner-border-sm {
+  --bs-spinner-width: 1rem;
+  --bs-spinner-height: 1rem;
+  --bs-spinner-border-width: 0.2em;
+}
+
+@keyframes spinner-grow {
+  0% {
+    transform: scale(0);
+  }
+  50% {
+    opacity: 1;
+    transform: none;
+  }
+}
+.spinner-grow {
+  --bs-spinner-width: 2rem;
+  --bs-spinner-height: 2rem;
+  --bs-spinner-vertical-align: -0.125em;
+  --bs-spinner-animation-speed: 0.75s;
+  --bs-spinner-animation-name: spinner-grow;
+  background-color: currentcolor;
+  opacity: 0;
+}
+
+.spinner-grow-sm {
+  --bs-spinner-width: 1rem;
+  --bs-spinner-height: 1rem;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .spinner-border,
+  .spinner-grow {
+    --bs-spinner-animation-speed: 1.5s;
+  }
+}
+.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
+  --bs-offcanvas-zindex: 1045;
+  --bs-offcanvas-width: 400px;
+  --bs-offcanvas-height: 30vh;
+  --bs-offcanvas-padding-x: 1rem;
+  --bs-offcanvas-padding-y: 1rem;
+  --bs-offcanvas-color: ;
+  --bs-offcanvas-bg: #fff;
+  --bs-offcanvas-border-width: 1px;
+  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
+  --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
+}
+
+@media (max-width: 575.98px) {
+  .offcanvas-sm {
+    position: fixed;
+    bottom: 0;
+    z-index: var(--bs-offcanvas-zindex);
+    display: flex;
+    flex-direction: column;
+    max-width: 100%;
+    color: var(--bs-offcanvas-color);
+    visibility: hidden;
+    background-color: var(--bs-offcanvas-bg);
+    background-clip: padding-box;
+    outline: 0;
+    transition: transform 0.3s ease-in-out;
+  }
+}
+@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
+  .offcanvas-sm {
+    transition: none;
+  }
+}
+@media (max-width: 575.98px) {
+  .offcanvas-sm.offcanvas-start {
+    top: 0;
+    left: 0;
+    width: var(--bs-offcanvas-width);
+    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(-100%);
+  }
+}
+@media (max-width: 575.98px) {
+  .offcanvas-sm.offcanvas-end {
+    top: 0;
+    right: 0;
+    width: var(--bs-offcanvas-width);
+    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(100%);
+  }
+}
+@media (max-width: 575.98px) {
+  .offcanvas-sm.offcanvas-top {
+    top: 0;
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(-100%);
+  }
+}
+@media (max-width: 575.98px) {
+  .offcanvas-sm.offcanvas-bottom {
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(100%);
+  }
+}
+@media (max-width: 575.98px) {
+  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
+    transform: none;
+  }
+}
+@media (max-width: 575.98px) {
+  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
+    visibility: visible;
+  }
+}
+@media (min-width: 576px) {
+  .offcanvas-sm {
+    --bs-offcanvas-height: auto;
+    --bs-offcanvas-border-width: 0;
+    background-color: transparent !important;
+  }
+  .offcanvas-sm .offcanvas-header {
+    display: none;
+  }
+  .offcanvas-sm .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+    background-color: transparent !important;
+  }
+}
+
+@media (max-width: 767.98px) {
+  .offcanvas-md {
+    position: fixed;
+    bottom: 0;
+    z-index: var(--bs-offcanvas-zindex);
+    display: flex;
+    flex-direction: column;
+    max-width: 100%;
+    color: var(--bs-offcanvas-color);
+    visibility: hidden;
+    background-color: var(--bs-offcanvas-bg);
+    background-clip: padding-box;
+    outline: 0;
+    transition: transform 0.3s ease-in-out;
+  }
+}
+@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
+  .offcanvas-md {
+    transition: none;
+  }
+}
+@media (max-width: 767.98px) {
+  .offcanvas-md.offcanvas-start {
+    top: 0;
+    left: 0;
+    width: var(--bs-offcanvas-width);
+    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(-100%);
+  }
+}
+@media (max-width: 767.98px) {
+  .offcanvas-md.offcanvas-end {
+    top: 0;
+    right: 0;
+    width: var(--bs-offcanvas-width);
+    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(100%);
+  }
+}
+@media (max-width: 767.98px) {
+  .offcanvas-md.offcanvas-top {
+    top: 0;
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(-100%);
+  }
+}
+@media (max-width: 767.98px) {
+  .offcanvas-md.offcanvas-bottom {
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(100%);
+  }
+}
+@media (max-width: 767.98px) {
+  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
+    transform: none;
+  }
+}
+@media (max-width: 767.98px) {
+  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
+    visibility: visible;
+  }
+}
+@media (min-width: 768px) {
+  .offcanvas-md {
+    --bs-offcanvas-height: auto;
+    --bs-offcanvas-border-width: 0;
+    background-color: transparent !important;
+  }
+  .offcanvas-md .offcanvas-header {
+    display: none;
+  }
+  .offcanvas-md .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+    background-color: transparent !important;
+  }
+}
+
+@media (max-width: 991.98px) {
+  .offcanvas-lg {
+    position: fixed;
+    bottom: 0;
+    z-index: var(--bs-offcanvas-zindex);
+    display: flex;
+    flex-direction: column;
+    max-width: 100%;
+    color: var(--bs-offcanvas-color);
+    visibility: hidden;
+    background-color: var(--bs-offcanvas-bg);
+    background-clip: padding-box;
+    outline: 0;
+    transition: transform 0.3s ease-in-out;
+  }
+}
+@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
+  .offcanvas-lg {
+    transition: none;
+  }
+}
+@media (max-width: 991.98px) {
+  .offcanvas-lg.offcanvas-start {
+    top: 0;
+    left: 0;
+    width: var(--bs-offcanvas-width);
+    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(-100%);
+  }
+}
+@media (max-width: 991.98px) {
+  .offcanvas-lg.offcanvas-end {
+    top: 0;
+    right: 0;
+    width: var(--bs-offcanvas-width);
+    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(100%);
+  }
+}
+@media (max-width: 991.98px) {
+  .offcanvas-lg.offcanvas-top {
+    top: 0;
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(-100%);
+  }
+}
+@media (max-width: 991.98px) {
+  .offcanvas-lg.offcanvas-bottom {
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(100%);
+  }
+}
+@media (max-width: 991.98px) {
+  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
+    transform: none;
+  }
+}
+@media (max-width: 991.98px) {
+  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
+    visibility: visible;
+  }
+}
+@media (min-width: 992px) {
+  .offcanvas-lg {
+    --bs-offcanvas-height: auto;
+    --bs-offcanvas-border-width: 0;
+    background-color: transparent !important;
+  }
+  .offcanvas-lg .offcanvas-header {
+    display: none;
+  }
+  .offcanvas-lg .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+    background-color: transparent !important;
+  }
+}
+
+@media (max-width: 1199.98px) {
+  .offcanvas-xl {
+    position: fixed;
+    bottom: 0;
+    z-index: var(--bs-offcanvas-zindex);
+    display: flex;
+    flex-direction: column;
+    max-width: 100%;
+    color: var(--bs-offcanvas-color);
+    visibility: hidden;
+    background-color: var(--bs-offcanvas-bg);
+    background-clip: padding-box;
+    outline: 0;
+    transition: transform 0.3s ease-in-out;
+  }
+}
+@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
+  .offcanvas-xl {
+    transition: none;
+  }
+}
+@media (max-width: 1199.98px) {
+  .offcanvas-xl.offcanvas-start {
+    top: 0;
+    left: 0;
+    width: var(--bs-offcanvas-width);
+    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(-100%);
+  }
+}
+@media (max-width: 1199.98px) {
+  .offcanvas-xl.offcanvas-end {
+    top: 0;
+    right: 0;
+    width: var(--bs-offcanvas-width);
+    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(100%);
+  }
+}
+@media (max-width: 1199.98px) {
+  .offcanvas-xl.offcanvas-top {
+    top: 0;
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(-100%);
+  }
+}
+@media (max-width: 1199.98px) {
+  .offcanvas-xl.offcanvas-bottom {
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(100%);
+  }
+}
+@media (max-width: 1199.98px) {
+  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
+    transform: none;
+  }
+}
+@media (max-width: 1199.98px) {
+  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
+    visibility: visible;
+  }
+}
+@media (min-width: 1200px) {
+  .offcanvas-xl {
+    --bs-offcanvas-height: auto;
+    --bs-offcanvas-border-width: 0;
+    background-color: transparent !important;
+  }
+  .offcanvas-xl .offcanvas-header {
+    display: none;
+  }
+  .offcanvas-xl .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+    background-color: transparent !important;
+  }
+}
+
+@media (max-width: 1399.98px) {
+  .offcanvas-xxl {
+    position: fixed;
+    bottom: 0;
+    z-index: var(--bs-offcanvas-zindex);
+    display: flex;
+    flex-direction: column;
+    max-width: 100%;
+    color: var(--bs-offcanvas-color);
+    visibility: hidden;
+    background-color: var(--bs-offcanvas-bg);
+    background-clip: padding-box;
+    outline: 0;
+    transition: transform 0.3s ease-in-out;
+  }
+}
+@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
+  .offcanvas-xxl {
+    transition: none;
+  }
+}
+@media (max-width: 1399.98px) {
+  .offcanvas-xxl.offcanvas-start {
+    top: 0;
+    left: 0;
+    width: var(--bs-offcanvas-width);
+    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(-100%);
+  }
+}
+@media (max-width: 1399.98px) {
+  .offcanvas-xxl.offcanvas-end {
+    top: 0;
+    right: 0;
+    width: var(--bs-offcanvas-width);
+    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(100%);
+  }
+}
+@media (max-width: 1399.98px) {
+  .offcanvas-xxl.offcanvas-top {
+    top: 0;
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(-100%);
+  }
+}
+@media (max-width: 1399.98px) {
+  .offcanvas-xxl.offcanvas-bottom {
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(100%);
+  }
+}
+@media (max-width: 1399.98px) {
+  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
+    transform: none;
+  }
+}
+@media (max-width: 1399.98px) {
+  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
+    visibility: visible;
+  }
+}
+@media (min-width: 1400px) {
+  .offcanvas-xxl {
+    --bs-offcanvas-height: auto;
+    --bs-offcanvas-border-width: 0;
+    background-color: transparent !important;
+  }
+  .offcanvas-xxl .offcanvas-header {
+    display: none;
+  }
+  .offcanvas-xxl .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
+    background-color: transparent !important;
+  }
+}
+
+.offcanvas {
+  position: fixed;
+  bottom: 0;
+  z-index: var(--bs-offcanvas-zindex);
+  display: flex;
+  flex-direction: column;
+  max-width: 100%;
+  color: var(--bs-offcanvas-color);
+  visibility: hidden;
+  background-color: var(--bs-offcanvas-bg);
+  background-clip: padding-box;
+  outline: 0;
+  transition: transform 0.3s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .offcanvas {
+    transition: none;
+  }
+}
+.offcanvas.offcanvas-start {
+  top: 0;
+  left: 0;
+  width: var(--bs-offcanvas-width);
+  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+  transform: translateX(-100%);
+}
+.offcanvas.offcanvas-end {
+  top: 0;
+  right: 0;
+  width: var(--bs-offcanvas-width);
+  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+  transform: translateX(100%);
+}
+.offcanvas.offcanvas-top {
+  top: 0;
+  right: 0;
+  left: 0;
+  height: var(--bs-offcanvas-height);
+  max-height: 100%;
+  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+  transform: translateY(-100%);
+}
+.offcanvas.offcanvas-bottom {
+  right: 0;
+  left: 0;
+  height: var(--bs-offcanvas-height);
+  max-height: 100%;
+  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+  transform: translateY(100%);
+}
+.offcanvas.showing, .offcanvas.show:not(.hiding) {
+  transform: none;
+}
+.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
+  visibility: visible;
+}
+
+.offcanvas-backdrop {
+  position: fixed;
+  top: 0;
+  left: 0;
+  z-index: 1040;
+  width: 100vw;
+  height: 100vh;
+  background-color: #000;
+}
+.offcanvas-backdrop.fade {
+  opacity: 0;
+}
+.offcanvas-backdrop.show {
+  opacity: 0.5;
+}
+
+.offcanvas-header {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+}
+.offcanvas-header .btn-close {
+  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
+  margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
+  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
+  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
+}
+
+.offcanvas-title {
+  margin-bottom: 0;
+  line-height: 1.5;
+}
+
+.offcanvas-body {
+  flex-grow: 1;
+  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+  overflow-y: auto;
+}
+
+.placeholder {
+  display: inline-block;
+  min-height: 1em;
+  vertical-align: middle;
+  cursor: wait;
+  background-color: currentcolor;
+  opacity: 0.5;
+}
+.placeholder.btn::before {
+  display: inline-block;
+  content: "";
+}
+
+.placeholder-xs {
+  min-height: 0.6em;
+}
+
+.placeholder-sm {
+  min-height: 0.8em;
+}
+
+.placeholder-lg {
+  min-height: 1.2em;
+}
+
+.placeholder-glow .placeholder {
+  animation: placeholder-glow 2s ease-in-out infinite;
+}
+
+@keyframes placeholder-glow {
+  50% {
+    opacity: 0.2;
+  }
+}
+.placeholder-wave {
+  -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+          mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+  -webkit-mask-size: 200% 100%;
+          mask-size: 200% 100%;
+  animation: placeholder-wave 2s linear infinite;
+}
+
+@keyframes placeholder-wave {
+  100% {
+    -webkit-mask-position: -200% 0%;
+            mask-position: -200% 0%;
+  }
+}
+.clearfix::after {
+  display: block;
+  clear: both;
+  content: "";
+}
+
+.text-bg-primary {
+  color: #fff !important;
+  background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-secondary {
+  color: #fff !important;
+  background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-success {
+  color: #fff !important;
+  background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-info {
+  color: #000 !important;
+  background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-warning {
+  color: #000 !important;
+  background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-danger {
+  color: #fff !important;
+  background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-light {
+  color: #000 !important;
+  background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-dark {
+  color: #fff !important;
+  background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important;
+}
+
+.link-primary {
+  color: #0d6efd !important;
+}
+.link-primary:hover, .link-primary:focus {
+  color: #0a58ca !important;
+}
+
+.link-secondary {
+  color: #6c757d !important;
+}
+.link-secondary:hover, .link-secondary:focus {
+  color: #565e64 !important;
+}
+
+.link-success {
+  color: #198754 !important;
+}
+.link-success:hover, .link-success:focus {
+  color: #146c43 !important;
+}
+
+.link-info {
+  color: #0dcaf0 !important;
+}
+.link-info:hover, .link-info:focus {
+  color: #3dd5f3 !important;
+}
+
+.link-warning {
+  color: #ffc107 !important;
+}
+.link-warning:hover, .link-warning:focus {
+  color: #ffcd39 !important;
+}
+
+.link-danger {
+  color: #dc3545 !important;
+}
+.link-danger:hover, .link-danger:focus {
+  color: #b02a37 !important;
+}
+
+.link-light {
+  color: #f8f9fa !important;
+}
+.link-light:hover, .link-light:focus {
+  color: #f9fafb !important;
+}
+
+.link-dark {
+  color: #212529 !important;
+}
+.link-dark:hover, .link-dark:focus {
+  color: #1a1e21 !important;
+}
+
+.ratio {
+  position: relative;
+  width: 100%;
+}
+.ratio::before {
+  display: block;
+  padding-top: var(--bs-aspect-ratio);
+  content: "";
+}
+.ratio > * {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+}
+
+.ratio-1x1 {
+  --bs-aspect-ratio: 100%;
+}
+
+.ratio-4x3 {
+  --bs-aspect-ratio: 75%;
+}
+
+.ratio-16x9 {
+  --bs-aspect-ratio: 56.25%;
+}
+
+.ratio-21x9 {
+  --bs-aspect-ratio: 42.8571428571%;
+}
+
+.fixed-top {
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1030;
+}
+
+.fixed-bottom {
+  position: fixed;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1030;
+}
+
+.sticky-top {
+  position: sticky;
+  top: 0;
+  z-index: 1020;
+}
+
+.sticky-bottom {
+  position: sticky;
+  bottom: 0;
+  z-index: 1020;
+}
+
+@media (min-width: 576px) {
+  .sticky-sm-top {
+    position: sticky;
+    top: 0;
+    z-index: 1020;
+  }
+  .sticky-sm-bottom {
+    position: sticky;
+    bottom: 0;
+    z-index: 1020;
+  }
+}
+@media (min-width: 768px) {
+  .sticky-md-top {
+    position: sticky;
+    top: 0;
+    z-index: 1020;
+  }
+  .sticky-md-bottom {
+    position: sticky;
+    bottom: 0;
+    z-index: 1020;
+  }
+}
+@media (min-width: 992px) {
+  .sticky-lg-top {
+    position: sticky;
+    top: 0;
+    z-index: 1020;
+  }
+  .sticky-lg-bottom {
+    position: sticky;
+    bottom: 0;
+    z-index: 1020;
+  }
+}
+@media (min-width: 1200px) {
+  .sticky-xl-top {
+    position: sticky;
+    top: 0;
+    z-index: 1020;
+  }
+  .sticky-xl-bottom {
+    position: sticky;
+    bottom: 0;
+    z-index: 1020;
+  }
+}
+@media (min-width: 1400px) {
+  .sticky-xxl-top {
+    position: sticky;
+    top: 0;
+    z-index: 1020;
+  }
+  .sticky-xxl-bottom {
+    position: sticky;
+    bottom: 0;
+    z-index: 1020;
+  }
+}
+.hstack {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  align-self: stretch;
+}
+
+.vstack {
+  display: flex;
+  flex: 1 1 auto;
+  flex-direction: column;
+  align-self: stretch;
+}
+
+.visually-hidden,
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
+  position: absolute !important;
+  width: 1px !important;
+  height: 1px !important;
+  padding: 0 !important;
+  margin: -1px !important;
+  overflow: hidden !important;
+  clip: rect(0, 0, 0, 0) !important;
+  white-space: nowrap !important;
+  border: 0 !important;
+}
+
+.stretched-link::after {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1;
+  content: "";
+}
+
+.text-truncate {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+.vr {
+  display: inline-block;
+  align-self: stretch;
+  width: 1px;
+  min-height: 1em;
+  background-color: currentcolor;
+  opacity: 0.25;
+}
+
+.align-baseline {
+  vertical-align: baseline !important;
+}
+
+.align-top {
+  vertical-align: top !important;
+}
+
+.align-middle {
+  vertical-align: middle !important;
+}
+
+.align-bottom {
+  vertical-align: bottom !important;
+}
+
+.align-text-bottom {
+  vertical-align: text-bottom !important;
+}
+
+.align-text-top {
+  vertical-align: text-top !important;
+}
+
+.float-start {
+  float: left !important;
+}
+
+.float-end {
+  float: right !important;
+}
+
+.float-none {
+  float: none !important;
+}
+
+.opacity-0 {
+  opacity: 0 !important;
+}
+
+.opacity-25 {
+  opacity: 0.25 !important;
+}
+
+.opacity-50 {
+  opacity: 0.5 !important;
+}
+
+.opacity-75 {
+  opacity: 0.75 !important;
+}
+
+.opacity-100 {
+  opacity: 1 !important;
+}
+
+.overflow-auto {
+  overflow: auto !important;
+}
+
+.overflow-hidden {
+  overflow: hidden !important;
+}
+
+.overflow-visible {
+  overflow: visible !important;
+}
+
+.overflow-scroll {
+  overflow: scroll !important;
+}
+
+.d-inline {
+  display: inline !important;
+}
+
+.d-inline-block {
+  display: inline-block !important;
+}
+
+.d-block {
+  display: block !important;
+}
+
+.d-grid {
+  display: grid !important;
+}
+
+.d-table {
+  display: table !important;
+}
+
+.d-table-row {
+  display: table-row !important;
+}
+
+.d-table-cell {
+  display: table-cell !important;
+}
+
+.d-flex {
+  display: flex !important;
+}
+
+.d-inline-flex {
+  display: inline-flex !important;
+}
+
+.d-none {
+  display: none !important;
+}
+
+.shadow {
+  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
+}
+
+.shadow-sm {
+  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
+}
+
+.shadow-lg {
+  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
+}
+
+.shadow-none {
+  box-shadow: none !important;
+}
+
+.position-static {
+  position: static !important;
+}
+
+.position-relative {
+  position: relative !important;
+}
+
+.position-absolute {
+  position: absolute !important;
+}
+
+.position-fixed {
+  position: fixed !important;
+}
+
+.position-sticky {
+  position: sticky !important;
+}
+
+.top-0 {
+  top: 0 !important;
+}
+
+.top-50 {
+  top: 50% !important;
+}
+
+.top-100 {
+  top: 100% !important;
+}
+
+.bottom-0 {
+  bottom: 0 !important;
+}
+
+.bottom-50 {
+  bottom: 50% !important;
+}
+
+.bottom-100 {
+  bottom: 100% !important;
+}
+
+.start-0 {
+  left: 0 !important;
+}
+
+.start-50 {
+  left: 50% !important;
+}
+
+.start-100 {
+  left: 100% !important;
+}
+
+.end-0 {
+  right: 0 !important;
+}
+
+.end-50 {
+  right: 50% !important;
+}
+
+.end-100 {
+  right: 100% !important;
+}
+
+.translate-middle {
+  transform: translate(-50%, -50%) !important;
+}
+
+.translate-middle-x {
+  transform: translateX(-50%) !important;
+}
+
+.translate-middle-y {
+  transform: translateY(-50%) !important;
+}
+
+.border {
+  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-0 {
+  border: 0 !important;
+}
+
+.border-top {
+  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-top-0 {
+  border-top: 0 !important;
+}
+
+.border-end {
+  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-end-0 {
+  border-right: 0 !important;
+}
+
+.border-bottom {
+  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-bottom-0 {
+  border-bottom: 0 !important;
+}
+
+.border-start {
+  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-start-0 {
+  border-left: 0 !important;
+}
+
+.border-primary {
+  --bs-border-opacity: 1;
+  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-secondary {
+  --bs-border-opacity: 1;
+  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-success {
+  --bs-border-opacity: 1;
+  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-info {
+  --bs-border-opacity: 1;
+  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-warning {
+  --bs-border-opacity: 1;
+  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-danger {
+  --bs-border-opacity: 1;
+  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-light {
+  --bs-border-opacity: 1;
+  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-dark {
+  --bs-border-opacity: 1;
+  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-white {
+  --bs-border-opacity: 1;
+  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-1 {
+  --bs-border-width: 1px;
+}
+
+.border-2 {
+  --bs-border-width: 2px;
+}
+
+.border-3 {
+  --bs-border-width: 3px;
+}
+
+.border-4 {
+  --bs-border-width: 4px;
+}
+
+.border-5 {
+  --bs-border-width: 5px;
+}
+
+.border-opacity-10 {
+  --bs-border-opacity: 0.1;
+}
+
+.border-opacity-25 {
+  --bs-border-opacity: 0.25;
+}
+
+.border-opacity-50 {
+  --bs-border-opacity: 0.5;
+}
+
+.border-opacity-75 {
+  --bs-border-opacity: 0.75;
+}
+
+.border-opacity-100 {
+  --bs-border-opacity: 1;
+}
+
+.w-25 {
+  width: 25% !important;
+}
+
+.w-50 {
+  width: 50% !important;
+}
+
+.w-75 {
+  width: 75% !important;
+}
+
+.w-100 {
+  width: 100% !important;
+}
+
+.w-auto {
+  width: auto !important;
+}
+
+.mw-100 {
+  max-width: 100% !important;
+}
+
+.vw-100 {
+  width: 100vw !important;
+}
+
+.min-vw-100 {
+  min-width: 100vw !important;
+}
+
+.h-25 {
+  height: 25% !important;
+}
+
+.h-50 {
+  height: 50% !important;
+}
+
+.h-75 {
+  height: 75% !important;
+}
+
+.h-100 {
+  height: 100% !important;
+}
+
+.h-auto {
+  height: auto !important;
+}
+
+.mh-100 {
+  max-height: 100% !important;
+}
+
+.vh-100 {
+  height: 100vh !important;
+}
+
+.min-vh-100 {
+  min-height: 100vh !important;
+}
+
+.flex-fill {
+  flex: 1 1 auto !important;
+}
+
+.flex-row {
+  flex-direction: row !important;
+}
+
+.flex-column {
+  flex-direction: column !important;
+}
+
+.flex-row-reverse {
+  flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+  flex-direction: column-reverse !important;
+}
+
+.flex-grow-0 {
+  flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+  flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+  flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+  flex-shrink: 1 !important;
+}
+
+.flex-wrap {
+  flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+  flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+  flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+  justify-content: flex-start !important;
+}
+
+.justify-content-end {
+  justify-content: flex-end !important;
+}
+
+.justify-content-center {
+  justify-content: center !important;
+}
+
+.justify-content-between {
+  justify-content: space-between !important;
+}
+
+.justify-content-around {
+  justify-content: space-around !important;
+}
+
+.justify-content-evenly {
+  justify-content: space-evenly !important;
+}
+
+.align-items-start {
+  align-items: flex-start !important;
+}
+
+.align-items-end {
+  align-items: flex-end !important;
+}
+
+.align-items-center {
+  align-items: center !important;
+}
+
+.align-items-baseline {
+  align-items: baseline !important;
+}
+
+.align-items-stretch {
+  align-items: stretch !important;
+}
+
+.align-content-start {
+  align-content: flex-start !important;
+}
+
+.align-content-end {
+  align-content: flex-end !important;
+}
+
+.align-content-center {
+  align-content: center !important;
+}
+
+.align-content-between {
+  align-content: space-between !important;
+}
+
+.align-content-around {
+  align-content: space-around !important;
+}
+
+.align-content-stretch {
+  align-content: stretch !important;
+}
+
+.align-self-auto {
+  align-self: auto !important;
+}
+
+.align-self-start {
+  align-self: flex-start !important;
+}
+
+.align-self-end {
+  align-self: flex-end !important;
+}
+
+.align-self-center {
+  align-self: center !important;
+}
+
+.align-self-baseline {
+  align-self: baseline !important;
+}
+
+.align-self-stretch {
+  align-self: stretch !important;
+}
+
+.order-first {
+  order: -1 !important;
+}
+
+.order-0 {
+  order: 0 !important;
+}
+
+.order-1 {
+  order: 1 !important;
+}
+
+.order-2 {
+  order: 2 !important;
+}
+
+.order-3 {
+  order: 3 !important;
+}
+
+.order-4 {
+  order: 4 !important;
+}
+
+.order-5 {
+  order: 5 !important;
+}
+
+.order-last {
+  order: 6 !important;
+}
+
+.m-0 {
+  margin: 0 !important;
+}
+
+.m-1 {
+  margin: 0.25rem !important;
+}
+
+.m-2 {
+  margin: 0.5rem !important;
+}
+
+.m-3 {
+  margin: 1rem !important;
+}
+
+.m-4 {
+  margin: 1.5rem !important;
+}
+
+.m-5 {
+  margin: 3rem !important;
+}
+
+.m-auto {
+  margin: auto !important;
+}
+
+.mx-0 {
+  margin-right: 0 !important;
+  margin-left: 0 !important;
+}
+
+.mx-1 {
+  margin-right: 0.25rem !important;
+  margin-left: 0.25rem !important;
+}
+
+.mx-2 {
+  margin-right: 0.5rem !important;
+  margin-left: 0.5rem !important;
+}
+
+.mx-3 {
+  margin-right: 1rem !important;
+  margin-left: 1rem !important;
+}
+
+.mx-4 {
+  margin-right: 1.5rem !important;
+  margin-left: 1.5rem !important;
+}
+
+.mx-5 {
+  margin-right: 3rem !important;
+  margin-left: 3rem !important;
+}
+
+.mx-auto {
+  margin-right: auto !important;
+  margin-left: auto !important;
+}
+
+.my-0 {
+  margin-top: 0 !important;
+  margin-bottom: 0 !important;
+}
+
+.my-1 {
+  margin-top: 0.25rem !important;
+  margin-bottom: 0.25rem !important;
+}
+
+.my-2 {
+  margin-top: 0.5rem !important;
+  margin-bottom: 0.5rem !important;
+}
+
+.my-3 {
+  margin-top: 1rem !important;
+  margin-bottom: 1rem !important;
+}
+
+.my-4 {
+  margin-top: 1.5rem !important;
+  margin-bottom: 1.5rem !important;
+}
+
+.my-5 {
+  margin-top: 3rem !important;
+  margin-bottom: 3rem !important;
+}
+
+.my-auto {
+  margin-top: auto !important;
+  margin-bottom: auto !important;
+}
+
+.mt-0 {
+  margin-top: 0 !important;
+}
+
+.mt-1 {
+  margin-top: 0.25rem !important;
+}
+
+.mt-2 {
+  margin-top: 0.5rem !important;
+}
+
+.mt-3 {
+  margin-top: 1rem !important;
+}
+
+.mt-4 {
+  margin-top: 1.5rem !important;
+}
+
+.mt-5 {
+  margin-top: 3rem !important;
+}
+
+.mt-auto {
+  margin-top: auto !important;
+}
+
+.me-0 {
+  margin-right: 0 !important;
+}
+
+.me-1 {
+  margin-right: 0.25rem !important;
+}
+
+.me-2 {
+  margin-right: 0.5rem !important;
+}
+
+.me-3 {
+  margin-right: 1rem !important;
+}
+
+.me-4 {
+  margin-right: 1.5rem !important;
+}
+
+.me-5 {
+  margin-right: 3rem !important;
+}
+
+.me-auto {
+  margin-right: auto !important;
+}
+
+.mb-0 {
+  margin-bottom: 0 !important;
+}
+
+.mb-1 {
+  margin-bottom: 0.25rem !important;
+}
+
+.mb-2 {
+  margin-bottom: 0.5rem !important;
+}
+
+.mb-3 {
+  margin-bottom: 1rem !important;
+}
+
+.mb-4 {
+  margin-bottom: 1.5rem !important;
+}
+
+.mb-5 {
+  margin-bottom: 3rem !important;
+}
+
+.mb-auto {
+  margin-bottom: auto !important;
+}
+
+.ms-0 {
+  margin-left: 0 !important;
+}
+
+.ms-1 {
+  margin-left: 0.25rem !important;
+}
+
+.ms-2 {
+  margin-left: 0.5rem !important;
+}
+
+.ms-3 {
+  margin-left: 1rem !important;
+}
+
+.ms-4 {
+  margin-left: 1.5rem !important;
+}
+
+.ms-5 {
+  margin-left: 3rem !important;
+}
+
+.ms-auto {
+  margin-left: auto !important;
+}
+
+.p-0 {
+  padding: 0 !important;
+}
+
+.p-1 {
+  padding: 0.25rem !important;
+}
+
+.p-2 {
+  padding: 0.5rem !important;
+}
+
+.p-3 {
+  padding: 1rem !important;
+}
+
+.p-4 {
+  padding: 1.5rem !important;
+}
+
+.p-5 {
+  padding: 3rem !important;
+}
+
+.px-0 {
+  padding-right: 0 !important;
+  padding-left: 0 !important;
+}
+
+.px-1 {
+  padding-right: 0.25rem !important;
+  padding-left: 0.25rem !important;
+}
+
+.px-2 {
+  padding-right: 0.5rem !important;
+  padding-left: 0.5rem !important;
+}
+
+.px-3 {
+  padding-right: 1rem !important;
+  padding-left: 1rem !important;
+}
+
+.px-4 {
+  padding-right: 1.5rem !important;
+  padding-left: 1.5rem !important;
+}
+
+.px-5 {
+  padding-right: 3rem !important;
+  padding-left: 3rem !important;
+}
+
+.py-0 {
+  padding-top: 0 !important;
+  padding-bottom: 0 !important;
+}
+
+.py-1 {
+  padding-top: 0.25rem !important;
+  padding-bottom: 0.25rem !important;
+}
+
+.py-2 {
+  padding-top: 0.5rem !important;
+  padding-bottom: 0.5rem !important;
+}
+
+.py-3 {
+  padding-top: 1rem !important;
+  padding-bottom: 1rem !important;
+}
+
+.py-4 {
+  padding-top: 1.5rem !important;
+  padding-bottom: 1.5rem !important;
+}
+
+.py-5 {
+  padding-top: 3rem !important;
+  padding-bottom: 3rem !important;
+}
+
+.pt-0 {
+  padding-top: 0 !important;
+}
+
+.pt-1 {
+  padding-top: 0.25rem !important;
+}
+
+.pt-2 {
+  padding-top: 0.5rem !important;
+}
+
+.pt-3 {
+  padding-top: 1rem !important;
+}
+
+.pt-4 {
+  padding-top: 1.5rem !important;
+}
+
+.pt-5 {
+  padding-top: 3rem !important;
+}
+
+.pe-0 {
+  padding-right: 0 !important;
+}
+
+.pe-1 {
+  padding-right: 0.25rem !important;
+}
+
+.pe-2 {
+  padding-right: 0.5rem !important;
+}
+
+.pe-3 {
+  padding-right: 1rem !important;
+}
+
+.pe-4 {
+  padding-right: 1.5rem !important;
+}
+
+.pe-5 {
+  padding-right: 3rem !important;
+}
+
+.pb-0 {
+  padding-bottom: 0 !important;
+}
+
+.pb-1 {
+  padding-bottom: 0.25rem !important;
+}
+
+.pb-2 {
+  padding-bottom: 0.5rem !important;
+}
+
+.pb-3 {
+  padding-bottom: 1rem !important;
+}
+
+.pb-4 {
+  padding-bottom: 1.5rem !important;
+}
+
+.pb-5 {
+  padding-bottom: 3rem !important;
+}
+
+.ps-0 {
+  padding-left: 0 !important;
+}
+
+.ps-1 {
+  padding-left: 0.25rem !important;
+}
+
+.ps-2 {
+  padding-left: 0.5rem !important;
+}
+
+.ps-3 {
+  padding-left: 1rem !important;
+}
+
+.ps-4 {
+  padding-left: 1.5rem !important;
+}
+
+.ps-5 {
+  padding-left: 3rem !important;
+}
+
+.gap-0 {
+  gap: 0 !important;
+}
+
+.gap-1 {
+  gap: 0.25rem !important;
+}
+
+.gap-2 {
+  gap: 0.5rem !important;
+}
+
+.gap-3 {
+  gap: 1rem !important;
+}
+
+.gap-4 {
+  gap: 1.5rem !important;
+}
+
+.gap-5 {
+  gap: 3rem !important;
+}
+
+.font-monospace {
+  font-family: var(--bs-font-monospace) !important;
+}
+
+.fs-1 {
+  font-size: calc(1.375rem + 1.5vw) !important;
+}
+
+.fs-2 {
+  font-size: calc(1.325rem + 0.9vw) !important;
+}
+
+.fs-3 {
+  font-size: calc(1.3rem + 0.6vw) !important;
+}
+
+.fs-4 {
+  font-size: calc(1.275rem + 0.3vw) !important;
+}
+
+.fs-5 {
+  font-size: 1.25rem !important;
+}
+
+.fs-6 {
+  font-size: 1rem !important;
+}
+
+.fst-italic {
+  font-style: italic !important;
+}
+
+.fst-normal {
+  font-style: normal !important;
+}
+
+.fw-light {
+  font-weight: 300 !important;
+}
+
+.fw-lighter {
+  font-weight: lighter !important;
+}
+
+.fw-normal {
+  font-weight: 400 !important;
+}
+
+.fw-bold {
+  font-weight: 700 !important;
+}
+
+.fw-semibold {
+  font-weight: 600 !important;
+}
+
+.fw-bolder {
+  font-weight: bolder !important;
+}
+
+.lh-1 {
+  line-height: 1 !important;
+}
+
+.lh-sm {
+  line-height: 1.25 !important;
+}
+
+.lh-base {
+  line-height: 1.5 !important;
+}
+
+.lh-lg {
+  line-height: 2 !important;
+}
+
+.text-start {
+  text-align: left !important;
+}
+
+.text-end {
+  text-align: right !important;
+}
+
+.text-center {
+  text-align: center !important;
+}
+
+.text-decoration-none {
+  text-decoration: none !important;
+}
+
+.text-decoration-underline {
+  text-decoration: underline !important;
+}
+
+.text-decoration-line-through {
+  text-decoration: line-through !important;
+}
+
+.text-lowercase {
+  text-transform: lowercase !important;
+}
+
+.text-uppercase {
+  text-transform: uppercase !important;
+}
+
+.text-capitalize {
+  text-transform: capitalize !important;
+}
+
+.text-wrap {
+  white-space: normal !important;
+}
+
+.text-nowrap {
+  white-space: nowrap !important;
+}
+
+/* rtl:begin:remove */
+.text-break {
+  word-wrap: break-word !important;
+  word-break: break-word !important;
+}
+
+/* rtl:end:remove */
+.text-primary {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-secondary {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-success {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-info {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-warning {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-danger {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-light {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-dark {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-black {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-white {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-body {
+  --bs-text-opacity: 1;
+  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-muted {
+  --bs-text-opacity: 1;
+  color: #6c757d !important;
+}
+
+.text-black-50 {
+  --bs-text-opacity: 1;
+  color: rgba(0, 0, 0, 0.5) !important;
+}
+
+.text-white-50 {
+  --bs-text-opacity: 1;
+  color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.text-reset {
+  --bs-text-opacity: 1;
+  color: inherit !important;
+}
+
+.text-opacity-25 {
+  --bs-text-opacity: 0.25;
+}
+
+.text-opacity-50 {
+  --bs-text-opacity: 0.5;
+}
+
+.text-opacity-75 {
+  --bs-text-opacity: 0.75;
+}
+
+.text-opacity-100 {
+  --bs-text-opacity: 1;
+}
+
+.bg-primary {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-secondary {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-success {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-info {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-warning {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-danger {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-light {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-dark {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-black {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-white {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-body {
+  --bs-bg-opacity: 1;
+  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-transparent {
+  --bs-bg-opacity: 1;
+  background-color: transparent !important;
+}
+
+.bg-opacity-10 {
+  --bs-bg-opacity: 0.1;
+}
+
+.bg-opacity-25 {
+  --bs-bg-opacity: 0.25;
+}
+
+.bg-opacity-50 {
+  --bs-bg-opacity: 0.5;
+}
+
+.bg-opacity-75 {
+  --bs-bg-opacity: 0.75;
+}
+
+.bg-opacity-100 {
+  --bs-bg-opacity: 1;
+}
+
+.bg-gradient {
+  background-image: var(--bs-gradient) !important;
+}
+
+.user-select-all {
+  -webkit-user-select: all !important;
+     -moz-user-select: all !important;
+          user-select: all !important;
+}
+
+.user-select-auto {
+  -webkit-user-select: auto !important;
+     -moz-user-select: auto !important;
+          user-select: auto !important;
+}
+
+.user-select-none {
+  -webkit-user-select: none !important;
+     -moz-user-select: none !important;
+          user-select: none !important;
+}
+
+.pe-none {
+  pointer-events: none !important;
+}
+
+.pe-auto {
+  pointer-events: auto !important;
+}
+
+.rounded {
+  border-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-0 {
+  border-radius: 0 !important;
+}
+
+.rounded-1 {
+  border-radius: var(--bs-border-radius-sm) !important;
+}
+
+.rounded-2 {
+  border-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-3 {
+  border-radius: var(--bs-border-radius-lg) !important;
+}
+
+.rounded-4 {
+  border-radius: var(--bs-border-radius-xl) !important;
+}
+
+.rounded-5 {
+  border-radius: var(--bs-border-radius-2xl) !important;
+}
+
+.rounded-circle {
+  border-radius: 50% !important;
+}
+
+.rounded-pill {
+  border-radius: var(--bs-border-radius-pill) !important;
+}
+
+.rounded-top {
+  border-top-left-radius: var(--bs-border-radius) !important;
+  border-top-right-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-end {
+  border-top-right-radius: var(--bs-border-radius) !important;
+  border-bottom-right-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-bottom {
+  border-bottom-right-radius: var(--bs-border-radius) !important;
+  border-bottom-left-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-start {
+  border-bottom-left-radius: var(--bs-border-radius) !important;
+  border-top-left-radius: var(--bs-border-radius) !important;
+}
+
+.visible {
+  visibility: visible !important;
+}
+
+.invisible {
+  visibility: hidden !important;
+}
+
+@media (min-width: 576px) {
+  .float-sm-start {
+    float: left !important;
+  }
+  .float-sm-end {
+    float: right !important;
+  }
+  .float-sm-none {
+    float: none !important;
+  }
+  .d-sm-inline {
+    display: inline !important;
+  }
+  .d-sm-inline-block {
+    display: inline-block !important;
+  }
+  .d-sm-block {
+    display: block !important;
+  }
+  .d-sm-grid {
+    display: grid !important;
+  }
+  .d-sm-table {
+    display: table !important;
+  }
+  .d-sm-table-row {
+    display: table-row !important;
+  }
+  .d-sm-table-cell {
+    display: table-cell !important;
+  }
+  .d-sm-flex {
+    display: flex !important;
+  }
+  .d-sm-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-sm-none {
+    display: none !important;
+  }
+  .flex-sm-fill {
+    flex: 1 1 auto !important;
+  }
+  .flex-sm-row {
+    flex-direction: row !important;
+  }
+  .flex-sm-column {
+    flex-direction: column !important;
+  }
+  .flex-sm-row-reverse {
+    flex-direction: row-reverse !important;
+  }
+  .flex-sm-column-reverse {
+    flex-direction: column-reverse !important;
+  }
+  .flex-sm-grow-0 {
+    flex-grow: 0 !important;
+  }
+  .flex-sm-grow-1 {
+    flex-grow: 1 !important;
+  }
+  .flex-sm-shrink-0 {
+    flex-shrink: 0 !important;
+  }
+  .flex-sm-shrink-1 {
+    flex-shrink: 1 !important;
+  }
+  .flex-sm-wrap {
+    flex-wrap: wrap !important;
+  }
+  .flex-sm-nowrap {
+    flex-wrap: nowrap !important;
+  }
+  .flex-sm-wrap-reverse {
+    flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-sm-start {
+    justify-content: flex-start !important;
+  }
+  .justify-content-sm-end {
+    justify-content: flex-end !important;
+  }
+  .justify-content-sm-center {
+    justify-content: center !important;
+  }
+  .justify-content-sm-between {
+    justify-content: space-between !important;
+  }
+  .justify-content-sm-around {
+    justify-content: space-around !important;
+  }
+  .justify-content-sm-evenly {
+    justify-content: space-evenly !important;
+  }
+  .align-items-sm-start {
+    align-items: flex-start !important;
+  }
+  .align-items-sm-end {
+    align-items: flex-end !important;
+  }
+  .align-items-sm-center {
+    align-items: center !important;
+  }
+  .align-items-sm-baseline {
+    align-items: baseline !important;
+  }
+  .align-items-sm-stretch {
+    align-items: stretch !important;
+  }
+  .align-content-sm-start {
+    align-content: flex-start !important;
+  }
+  .align-content-sm-end {
+    align-content: flex-end !important;
+  }
+  .align-content-sm-center {
+    align-content: center !important;
+  }
+  .align-content-sm-between {
+    align-content: space-between !important;
+  }
+  .align-content-sm-around {
+    align-content: space-around !important;
+  }
+  .align-content-sm-stretch {
+    align-content: stretch !important;
+  }
+  .align-self-sm-auto {
+    align-self: auto !important;
+  }
+  .align-self-sm-start {
+    align-self: flex-start !important;
+  }
+  .align-self-sm-end {
+    align-self: flex-end !important;
+  }
+  .align-self-sm-center {
+    align-self: center !important;
+  }
+  .align-self-sm-baseline {
+    align-self: baseline !important;
+  }
+  .align-self-sm-stretch {
+    align-self: stretch !important;
+  }
+  .order-sm-first {
+    order: -1 !important;
+  }
+  .order-sm-0 {
+    order: 0 !important;
+  }
+  .order-sm-1 {
+    order: 1 !important;
+  }
+  .order-sm-2 {
+    order: 2 !important;
+  }
+  .order-sm-3 {
+    order: 3 !important;
+  }
+  .order-sm-4 {
+    order: 4 !important;
+  }
+  .order-sm-5 {
+    order: 5 !important;
+  }
+  .order-sm-last {
+    order: 6 !important;
+  }
+  .m-sm-0 {
+    margin: 0 !important;
+  }
+  .m-sm-1 {
+    margin: 0.25rem !important;
+  }
+  .m-sm-2 {
+    margin: 0.5rem !important;
+  }
+  .m-sm-3 {
+    margin: 1rem !important;
+  }
+  .m-sm-4 {
+    margin: 1.5rem !important;
+  }
+  .m-sm-5 {
+    margin: 3rem !important;
+  }
+  .m-sm-auto {
+    margin: auto !important;
+  }
+  .mx-sm-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .mx-sm-1 {
+    margin-right: 0.25rem !important;
+    margin-left: 0.25rem !important;
+  }
+  .mx-sm-2 {
+    margin-right: 0.5rem !important;
+    margin-left: 0.5rem !important;
+  }
+  .mx-sm-3 {
+    margin-right: 1rem !important;
+    margin-left: 1rem !important;
+  }
+  .mx-sm-4 {
+    margin-right: 1.5rem !important;
+    margin-left: 1.5rem !important;
+  }
+  .mx-sm-5 {
+    margin-right: 3rem !important;
+    margin-left: 3rem !important;
+  }
+  .mx-sm-auto {
+    margin-right: auto !important;
+    margin-left: auto !important;
+  }
+  .my-sm-0 {
+    margin-top: 0 !important;
+    margin-bottom: 0 !important;
+  }
+  .my-sm-1 {
+    margin-top: 0.25rem !important;
+    margin-bottom: 0.25rem !important;
+  }
+  .my-sm-2 {
+    margin-top: 0.5rem !important;
+    margin-bottom: 0.5rem !important;
+  }
+  .my-sm-3 {
+    margin-top: 1rem !important;
+    margin-bottom: 1rem !important;
+  }
+  .my-sm-4 {
+    margin-top: 1.5rem !important;
+    margin-bottom: 1.5rem !important;
+  }
+  .my-sm-5 {
+    margin-top: 3rem !important;
+    margin-bottom: 3rem !important;
+  }
+  .my-sm-auto {
+    margin-top: auto !important;
+    margin-bottom: auto !important;
+  }
+  .mt-sm-0 {
+    margin-top: 0 !important;
+  }
+  .mt-sm-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mt-sm-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mt-sm-3 {
+    margin-top: 1rem !important;
+  }
+  .mt-sm-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mt-sm-5 {
+    margin-top: 3rem !important;
+  }
+  .mt-sm-auto {
+    margin-top: auto !important;
+  }
+  .me-sm-0 {
+    margin-right: 0 !important;
+  }
+  .me-sm-1 {
+    margin-right: 0.25rem !important;
+  }
+  .me-sm-2 {
+    margin-right: 0.5rem !important;
+  }
+  .me-sm-3 {
+    margin-right: 1rem !important;
+  }
+  .me-sm-4 {
+    margin-right: 1.5rem !important;
+  }
+  .me-sm-5 {
+    margin-right: 3rem !important;
+  }
+  .me-sm-auto {
+    margin-right: auto !important;
+  }
+  .mb-sm-0 {
+    margin-bottom: 0 !important;
+  }
+  .mb-sm-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .mb-sm-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .mb-sm-3 {
+    margin-bottom: 1rem !important;
+  }
+  .mb-sm-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .mb-sm-5 {
+    margin-bottom: 3rem !important;
+  }
+  .mb-sm-auto {
+    margin-bottom: auto !important;
+  }
+  .ms-sm-0 {
+    margin-left: 0 !important;
+  }
+  .ms-sm-1 {
+    margin-left: 0.25rem !important;
+  }
+  .ms-sm-2 {
+    margin-left: 0.5rem !important;
+  }
+  .ms-sm-3 {
+    margin-left: 1rem !important;
+  }
+  .ms-sm-4 {
+    margin-left: 1.5rem !important;
+  }
+  .ms-sm-5 {
+    margin-left: 3rem !important;
+  }
+  .ms-sm-auto {
+    margin-left: auto !important;
+  }
+  .p-sm-0 {
+    padding: 0 !important;
+  }
+  .p-sm-1 {
+    padding: 0.25rem !important;
+  }
+  .p-sm-2 {
+    padding: 0.5rem !important;
+  }
+  .p-sm-3 {
+    padding: 1rem !important;
+  }
+  .p-sm-4 {
+    padding: 1.5rem !important;
+  }
+  .p-sm-5 {
+    padding: 3rem !important;
+  }
+  .px-sm-0 {
+    padding-right: 0 !important;
+    padding-left: 0 !important;
+  }
+  .px-sm-1 {
+    padding-right: 0.25rem !important;
+    padding-left: 0.25rem !important;
+  }
+  .px-sm-2 {
+    padding-right: 0.5rem !important;
+    padding-left: 0.5rem !important;
+  }
+  .px-sm-3 {
+    padding-right: 1rem !important;
+    padding-left: 1rem !important;
+  }
+  .px-sm-4 {
+    padding-right: 1.5rem !important;
+    padding-left: 1.5rem !important;
+  }
+  .px-sm-5 {
+    padding-right: 3rem !important;
+    padding-left: 3rem !important;
+  }
+  .py-sm-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-sm-1 {
+    padding-top: 0.25rem !important;
+    padding-bottom: 0.25rem !important;
+  }
+  .py-sm-2 {
+    padding-top: 0.5rem !important;
+    padding-bottom: 0.5rem !important;
+  }
+  .py-sm-3 {
+    padding-top: 1rem !important;
+    padding-bottom: 1rem !important;
+  }
+  .py-sm-4 {
+    padding-top: 1.5rem !important;
+    padding-bottom: 1.5rem !important;
+  }
+  .py-sm-5 {
+    padding-top: 3rem !important;
+    padding-bottom: 3rem !important;
+  }
+  .pt-sm-0 {
+    padding-top: 0 !important;
+  }
+  .pt-sm-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pt-sm-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pt-sm-3 {
+    padding-top: 1rem !important;
+  }
+  .pt-sm-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pt-sm-5 {
+    padding-top: 3rem !important;
+  }
+  .pe-sm-0 {
+    padding-right: 0 !important;
+  }
+  .pe-sm-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pe-sm-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pe-sm-3 {
+    padding-right: 1rem !important;
+  }
+  .pe-sm-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pe-sm-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-sm-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-sm-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pb-sm-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pb-sm-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pb-sm-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pb-sm-5 {
+    padding-bottom: 3rem !important;
+  }
+  .ps-sm-0 {
+    padding-left: 0 !important;
+  }
+  .ps-sm-1 {
+    padding-left: 0.25rem !important;
+  }
+  .ps-sm-2 {
+    padding-left: 0.5rem !important;
+  }
+  .ps-sm-3 {
+    padding-left: 1rem !important;
+  }
+  .ps-sm-4 {
+    padding-left: 1.5rem !important;
+  }
+  .ps-sm-5 {
+    padding-left: 3rem !important;
+  }
+  .gap-sm-0 {
+    gap: 0 !important;
+  }
+  .gap-sm-1 {
+    gap: 0.25rem !important;
+  }
+  .gap-sm-2 {
+    gap: 0.5rem !important;
+  }
+  .gap-sm-3 {
+    gap: 1rem !important;
+  }
+  .gap-sm-4 {
+    gap: 1.5rem !important;
+  }
+  .gap-sm-5 {
+    gap: 3rem !important;
+  }
+  .text-sm-start {
+    text-align: left !important;
+  }
+  .text-sm-end {
+    text-align: right !important;
+  }
+  .text-sm-center {
+    text-align: center !important;
+  }
+}
+@media (min-width: 768px) {
+  .float-md-start {
+    float: left !important;
+  }
+  .float-md-end {
+    float: right !important;
+  }
+  .float-md-none {
+    float: none !important;
+  }
+  .d-md-inline {
+    display: inline !important;
+  }
+  .d-md-inline-block {
+    display: inline-block !important;
+  }
+  .d-md-block {
+    display: block !important;
+  }
+  .d-md-grid {
+    display: grid !important;
+  }
+  .d-md-table {
+    display: table !important;
+  }
+  .d-md-table-row {
+    display: table-row !important;
+  }
+  .d-md-table-cell {
+    display: table-cell !important;
+  }
+  .d-md-flex {
+    display: flex !important;
+  }
+  .d-md-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-md-none {
+    display: none !important;
+  }
+  .flex-md-fill {
+    flex: 1 1 auto !important;
+  }
+  .flex-md-row {
+    flex-direction: row !important;
+  }
+  .flex-md-column {
+    flex-direction: column !important;
+  }
+  .flex-md-row-reverse {
+    flex-direction: row-reverse !important;
+  }
+  .flex-md-column-reverse {
+    flex-direction: column-reverse !important;
+  }
+  .flex-md-grow-0 {
+    flex-grow: 0 !important;
+  }
+  .flex-md-grow-1 {
+    flex-grow: 1 !important;
+  }
+  .flex-md-shrink-0 {
+    flex-shrink: 0 !important;
+  }
+  .flex-md-shrink-1 {
+    flex-shrink: 1 !important;
+  }
+  .flex-md-wrap {
+    flex-wrap: wrap !important;
+  }
+  .flex-md-nowrap {
+    flex-wrap: nowrap !important;
+  }
+  .flex-md-wrap-reverse {
+    flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-md-start {
+    justify-content: flex-start !important;
+  }
+  .justify-content-md-end {
+    justify-content: flex-end !important;
+  }
+  .justify-content-md-center {
+    justify-content: center !important;
+  }
+  .justify-content-md-between {
+    justify-content: space-between !important;
+  }
+  .justify-content-md-around {
+    justify-content: space-around !important;
+  }
+  .justify-content-md-evenly {
+    justify-content: space-evenly !important;
+  }
+  .align-items-md-start {
+    align-items: flex-start !important;
+  }
+  .align-items-md-end {
+    align-items: flex-end !important;
+  }
+  .align-items-md-center {
+    align-items: center !important;
+  }
+  .align-items-md-baseline {
+    align-items: baseline !important;
+  }
+  .align-items-md-stretch {
+    align-items: stretch !important;
+  }
+  .align-content-md-start {
+    align-content: flex-start !important;
+  }
+  .align-content-md-end {
+    align-content: flex-end !important;
+  }
+  .align-content-md-center {
+    align-content: center !important;
+  }
+  .align-content-md-between {
+    align-content: space-between !important;
+  }
+  .align-content-md-around {
+    align-content: space-around !important;
+  }
+  .align-content-md-stretch {
+    align-content: stretch !important;
+  }
+  .align-self-md-auto {
+    align-self: auto !important;
+  }
+  .align-self-md-start {
+    align-self: flex-start !important;
+  }
+  .align-self-md-end {
+    align-self: flex-end !important;
+  }
+  .align-self-md-center {
+    align-self: center !important;
+  }
+  .align-self-md-baseline {
+    align-self: baseline !important;
+  }
+  .align-self-md-stretch {
+    align-self: stretch !important;
+  }
+  .order-md-first {
+    order: -1 !important;
+  }
+  .order-md-0 {
+    order: 0 !important;
+  }
+  .order-md-1 {
+    order: 1 !important;
+  }
+  .order-md-2 {
+    order: 2 !important;
+  }
+  .order-md-3 {
+    order: 3 !important;
+  }
+  .order-md-4 {
+    order: 4 !important;
+  }
+  .order-md-5 {
+    order: 5 !important;
+  }
+  .order-md-last {
+    order: 6 !important;
+  }
+  .m-md-0 {
+    margin: 0 !important;
+  }
+  .m-md-1 {
+    margin: 0.25rem !important;
+  }
+  .m-md-2 {
+    margin: 0.5rem !important;
+  }
+  .m-md-3 {
+    margin: 1rem !important;
+  }
+  .m-md-4 {
+    margin: 1.5rem !important;
+  }
+  .m-md-5 {
+    margin: 3rem !important;
+  }
+  .m-md-auto {
+    margin: auto !important;
+  }
+  .mx-md-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .mx-md-1 {
+    margin-right: 0.25rem !important;
+    margin-left: 0.25rem !important;
+  }
+  .mx-md-2 {
+    margin-right: 0.5rem !important;
+    margin-left: 0.5rem !important;
+  }
+  .mx-md-3 {
+    margin-right: 1rem !important;
+    margin-left: 1rem !important;
+  }
+  .mx-md-4 {
+    margin-right: 1.5rem !important;
+    margin-left: 1.5rem !important;
+  }
+  .mx-md-5 {
+    margin-right: 3rem !important;
+    margin-left: 3rem !important;
+  }
+  .mx-md-auto {
+    margin-right: auto !important;
+    margin-left: auto !important;
+  }
+  .my-md-0 {
+    margin-top: 0 !important;
+    margin-bottom: 0 !important;
+  }
+  .my-md-1 {
+    margin-top: 0.25rem !important;
+    margin-bottom: 0.25rem !important;
+  }
+  .my-md-2 {
+    margin-top: 0.5rem !important;
+    margin-bottom: 0.5rem !important;
+  }
+  .my-md-3 {
+    margin-top: 1rem !important;
+    margin-bottom: 1rem !important;
+  }
+  .my-md-4 {
+    margin-top: 1.5rem !important;
+    margin-bottom: 1.5rem !important;
+  }
+  .my-md-5 {
+    margin-top: 3rem !important;
+    margin-bottom: 3rem !important;
+  }
+  .my-md-auto {
+    margin-top: auto !important;
+    margin-bottom: auto !important;
+  }
+  .mt-md-0 {
+    margin-top: 0 !important;
+  }
+  .mt-md-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mt-md-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mt-md-3 {
+    margin-top: 1rem !important;
+  }
+  .mt-md-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mt-md-5 {
+    margin-top: 3rem !important;
+  }
+  .mt-md-auto {
+    margin-top: auto !important;
+  }
+  .me-md-0 {
+    margin-right: 0 !important;
+  }
+  .me-md-1 {
+    margin-right: 0.25rem !important;
+  }
+  .me-md-2 {
+    margin-right: 0.5rem !important;
+  }
+  .me-md-3 {
+    margin-right: 1rem !important;
+  }
+  .me-md-4 {
+    margin-right: 1.5rem !important;
+  }
+  .me-md-5 {
+    margin-right: 3rem !important;
+  }
+  .me-md-auto {
+    margin-right: auto !important;
+  }
+  .mb-md-0 {
+    margin-bottom: 0 !important;
+  }
+  .mb-md-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .mb-md-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .mb-md-3 {
+    margin-bottom: 1rem !important;
+  }
+  .mb-md-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .mb-md-5 {
+    margin-bottom: 3rem !important;
+  }
+  .mb-md-auto {
+    margin-bottom: auto !important;
+  }
+  .ms-md-0 {
+    margin-left: 0 !important;
+  }
+  .ms-md-1 {
+    margin-left: 0.25rem !important;
+  }
+  .ms-md-2 {
+    margin-left: 0.5rem !important;
+  }
+  .ms-md-3 {
+    margin-left: 1rem !important;
+  }
+  .ms-md-4 {
+    margin-left: 1.5rem !important;
+  }
+  .ms-md-5 {
+    margin-left: 3rem !important;
+  }
+  .ms-md-auto {
+    margin-left: auto !important;
+  }
+  .p-md-0 {
+    padding: 0 !important;
+  }
+  .p-md-1 {
+    padding: 0.25rem !important;
+  }
+  .p-md-2 {
+    padding: 0.5rem !important;
+  }
+  .p-md-3 {
+    padding: 1rem !important;
+  }
+  .p-md-4 {
+    padding: 1.5rem !important;
+  }
+  .p-md-5 {
+    padding: 3rem !important;
+  }
+  .px-md-0 {
+    padding-right: 0 !important;
+    padding-left: 0 !important;
+  }
+  .px-md-1 {
+    padding-right: 0.25rem !important;
+    padding-left: 0.25rem !important;
+  }
+  .px-md-2 {
+    padding-right: 0.5rem !important;
+    padding-left: 0.5rem !important;
+  }
+  .px-md-3 {
+    padding-right: 1rem !important;
+    padding-left: 1rem !important;
+  }
+  .px-md-4 {
+    padding-right: 1.5rem !important;
+    padding-left: 1.5rem !important;
+  }
+  .px-md-5 {
+    padding-right: 3rem !important;
+    padding-left: 3rem !important;
+  }
+  .py-md-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-md-1 {
+    padding-top: 0.25rem !important;
+    padding-bottom: 0.25rem !important;
+  }
+  .py-md-2 {
+    padding-top: 0.5rem !important;
+    padding-bottom: 0.5rem !important;
+  }
+  .py-md-3 {
+    padding-top: 1rem !important;
+    padding-bottom: 1rem !important;
+  }
+  .py-md-4 {
+    padding-top: 1.5rem !important;
+    padding-bottom: 1.5rem !important;
+  }
+  .py-md-5 {
+    padding-top: 3rem !important;
+    padding-bottom: 3rem !important;
+  }
+  .pt-md-0 {
+    padding-top: 0 !important;
+  }
+  .pt-md-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pt-md-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pt-md-3 {
+    padding-top: 1rem !important;
+  }
+  .pt-md-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pt-md-5 {
+    padding-top: 3rem !important;
+  }
+  .pe-md-0 {
+    padding-right: 0 !important;
+  }
+  .pe-md-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pe-md-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pe-md-3 {
+    padding-right: 1rem !important;
+  }
+  .pe-md-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pe-md-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-md-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-md-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pb-md-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pb-md-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pb-md-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pb-md-5 {
+    padding-bottom: 3rem !important;
+  }
+  .ps-md-0 {
+    padding-left: 0 !important;
+  }
+  .ps-md-1 {
+    padding-left: 0.25rem !important;
+  }
+  .ps-md-2 {
+    padding-left: 0.5rem !important;
+  }
+  .ps-md-3 {
+    padding-left: 1rem !important;
+  }
+  .ps-md-4 {
+    padding-left: 1.5rem !important;
+  }
+  .ps-md-5 {
+    padding-left: 3rem !important;
+  }
+  .gap-md-0 {
+    gap: 0 !important;
+  }
+  .gap-md-1 {
+    gap: 0.25rem !important;
+  }
+  .gap-md-2 {
+    gap: 0.5rem !important;
+  }
+  .gap-md-3 {
+    gap: 1rem !important;
+  }
+  .gap-md-4 {
+    gap: 1.5rem !important;
+  }
+  .gap-md-5 {
+    gap: 3rem !important;
+  }
+  .text-md-start {
+    text-align: left !important;
+  }
+  .text-md-end {
+    text-align: right !important;
+  }
+  .text-md-center {
+    text-align: center !important;
+  }
+}
+@media (min-width: 992px) {
+  .float-lg-start {
+    float: left !important;
+  }
+  .float-lg-end {
+    float: right !important;
+  }
+  .float-lg-none {
+    float: none !important;
+  }
+  .d-lg-inline {
+    display: inline !important;
+  }
+  .d-lg-inline-block {
+    display: inline-block !important;
+  }
+  .d-lg-block {
+    display: block !important;
+  }
+  .d-lg-grid {
+    display: grid !important;
+  }
+  .d-lg-table {
+    display: table !important;
+  }
+  .d-lg-table-row {
+    display: table-row !important;
+  }
+  .d-lg-table-cell {
+    display: table-cell !important;
+  }
+  .d-lg-flex {
+    display: flex !important;
+  }
+  .d-lg-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-lg-none {
+    display: none !important;
+  }
+  .flex-lg-fill {
+    flex: 1 1 auto !important;
+  }
+  .flex-lg-row {
+    flex-direction: row !important;
+  }
+  .flex-lg-column {
+    flex-direction: column !important;
+  }
+  .flex-lg-row-reverse {
+    flex-direction: row-reverse !important;
+  }
+  .flex-lg-column-reverse {
+    flex-direction: column-reverse !important;
+  }
+  .flex-lg-grow-0 {
+    flex-grow: 0 !important;
+  }
+  .flex-lg-grow-1 {
+    flex-grow: 1 !important;
+  }
+  .flex-lg-shrink-0 {
+    flex-shrink: 0 !important;
+  }
+  .flex-lg-shrink-1 {
+    flex-shrink: 1 !important;
+  }
+  .flex-lg-wrap {
+    flex-wrap: wrap !important;
+  }
+  .flex-lg-nowrap {
+    flex-wrap: nowrap !important;
+  }
+  .flex-lg-wrap-reverse {
+    flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-lg-start {
+    justify-content: flex-start !important;
+  }
+  .justify-content-lg-end {
+    justify-content: flex-end !important;
+  }
+  .justify-content-lg-center {
+    justify-content: center !important;
+  }
+  .justify-content-lg-between {
+    justify-content: space-between !important;
+  }
+  .justify-content-lg-around {
+    justify-content: space-around !important;
+  }
+  .justify-content-lg-evenly {
+    justify-content: space-evenly !important;
+  }
+  .align-items-lg-start {
+    align-items: flex-start !important;
+  }
+  .align-items-lg-end {
+    align-items: flex-end !important;
+  }
+  .align-items-lg-center {
+    align-items: center !important;
+  }
+  .align-items-lg-baseline {
+    align-items: baseline !important;
+  }
+  .align-items-lg-stretch {
+    align-items: stretch !important;
+  }
+  .align-content-lg-start {
+    align-content: flex-start !important;
+  }
+  .align-content-lg-end {
+    align-content: flex-end !important;
+  }
+  .align-content-lg-center {
+    align-content: center !important;
+  }
+  .align-content-lg-between {
+    align-content: space-between !important;
+  }
+  .align-content-lg-around {
+    align-content: space-around !important;
+  }
+  .align-content-lg-stretch {
+    align-content: stretch !important;
+  }
+  .align-self-lg-auto {
+    align-self: auto !important;
+  }
+  .align-self-lg-start {
+    align-self: flex-start !important;
+  }
+  .align-self-lg-end {
+    align-self: flex-end !important;
+  }
+  .align-self-lg-center {
+    align-self: center !important;
+  }
+  .align-self-lg-baseline {
+    align-self: baseline !important;
+  }
+  .align-self-lg-stretch {
+    align-self: stretch !important;
+  }
+  .order-lg-first {
+    order: -1 !important;
+  }
+  .order-lg-0 {
+    order: 0 !important;
+  }
+  .order-lg-1 {
+    order: 1 !important;
+  }
+  .order-lg-2 {
+    order: 2 !important;
+  }
+  .order-lg-3 {
+    order: 3 !important;
+  }
+  .order-lg-4 {
+    order: 4 !important;
+  }
+  .order-lg-5 {
+    order: 5 !important;
+  }
+  .order-lg-last {
+    order: 6 !important;
+  }
+  .m-lg-0 {
+    margin: 0 !important;
+  }
+  .m-lg-1 {
+    margin: 0.25rem !important;
+  }
+  .m-lg-2 {
+    margin: 0.5rem !important;
+  }
+  .m-lg-3 {
+    margin: 1rem !important;
+  }
+  .m-lg-4 {
+    margin: 1.5rem !important;
+  }
+  .m-lg-5 {
+    margin: 3rem !important;
+  }
+  .m-lg-auto {
+    margin: auto !important;
+  }
+  .mx-lg-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .mx-lg-1 {
+    margin-right: 0.25rem !important;
+    margin-left: 0.25rem !important;
+  }
+  .mx-lg-2 {
+    margin-right: 0.5rem !important;
+    margin-left: 0.5rem !important;
+  }
+  .mx-lg-3 {
+    margin-right: 1rem !important;
+    margin-left: 1rem !important;
+  }
+  .mx-lg-4 {
+    margin-right: 1.5rem !important;
+    margin-left: 1.5rem !important;
+  }
+  .mx-lg-5 {
+    margin-right: 3rem !important;
+    margin-left: 3rem !important;
+  }
+  .mx-lg-auto {
+    margin-right: auto !important;
+    margin-left: auto !important;
+  }
+  .my-lg-0 {
+    margin-top: 0 !important;
+    margin-bottom: 0 !important;
+  }
+  .my-lg-1 {
+    margin-top: 0.25rem !important;
+    margin-bottom: 0.25rem !important;
+  }
+  .my-lg-2 {
+    margin-top: 0.5rem !important;
+    margin-bottom: 0.5rem !important;
+  }
+  .my-lg-3 {
+    margin-top: 1rem !important;
+    margin-bottom: 1rem !important;
+  }
+  .my-lg-4 {
+    margin-top: 1.5rem !important;
+    margin-bottom: 1.5rem !important;
+  }
+  .my-lg-5 {
+    margin-top: 3rem !important;
+    margin-bottom: 3rem !important;
+  }
+  .my-lg-auto {
+    margin-top: auto !important;
+    margin-bottom: auto !important;
+  }
+  .mt-lg-0 {
+    margin-top: 0 !important;
+  }
+  .mt-lg-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mt-lg-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mt-lg-3 {
+    margin-top: 1rem !important;
+  }
+  .mt-lg-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mt-lg-5 {
+    margin-top: 3rem !important;
+  }
+  .mt-lg-auto {
+    margin-top: auto !important;
+  }
+  .me-lg-0 {
+    margin-right: 0 !important;
+  }
+  .me-lg-1 {
+    margin-right: 0.25rem !important;
+  }
+  .me-lg-2 {
+    margin-right: 0.5rem !important;
+  }
+  .me-lg-3 {
+    margin-right: 1rem !important;
+  }
+  .me-lg-4 {
+    margin-right: 1.5rem !important;
+  }
+  .me-lg-5 {
+    margin-right: 3rem !important;
+  }
+  .me-lg-auto {
+    margin-right: auto !important;
+  }
+  .mb-lg-0 {
+    margin-bottom: 0 !important;
+  }
+  .mb-lg-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .mb-lg-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .mb-lg-3 {
+    margin-bottom: 1rem !important;
+  }
+  .mb-lg-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .mb-lg-5 {
+    margin-bottom: 3rem !important;
+  }
+  .mb-lg-auto {
+    margin-bottom: auto !important;
+  }
+  .ms-lg-0 {
+    margin-left: 0 !important;
+  }
+  .ms-lg-1 {
+    margin-left: 0.25rem !important;
+  }
+  .ms-lg-2 {
+    margin-left: 0.5rem !important;
+  }
+  .ms-lg-3 {
+    margin-left: 1rem !important;
+  }
+  .ms-lg-4 {
+    margin-left: 1.5rem !important;
+  }
+  .ms-lg-5 {
+    margin-left: 3rem !important;
+  }
+  .ms-lg-auto {
+    margin-left: auto !important;
+  }
+  .p-lg-0 {
+    padding: 0 !important;
+  }
+  .p-lg-1 {
+    padding: 0.25rem !important;
+  }
+  .p-lg-2 {
+    padding: 0.5rem !important;
+  }
+  .p-lg-3 {
+    padding: 1rem !important;
+  }
+  .p-lg-4 {
+    padding: 1.5rem !important;
+  }
+  .p-lg-5 {
+    padding: 3rem !important;
+  }
+  .px-lg-0 {
+    padding-right: 0 !important;
+    padding-left: 0 !important;
+  }
+  .px-lg-1 {
+    padding-right: 0.25rem !important;
+    padding-left: 0.25rem !important;
+  }
+  .px-lg-2 {
+    padding-right: 0.5rem !important;
+    padding-left: 0.5rem !important;
+  }
+  .px-lg-3 {
+    padding-right: 1rem !important;
+    padding-left: 1rem !important;
+  }
+  .px-lg-4 {
+    padding-right: 1.5rem !important;
+    padding-left: 1.5rem !important;
+  }
+  .px-lg-5 {
+    padding-right: 3rem !important;
+    padding-left: 3rem !important;
+  }
+  .py-lg-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-lg-1 {
+    padding-top: 0.25rem !important;
+    padding-bottom: 0.25rem !important;
+  }
+  .py-lg-2 {
+    padding-top: 0.5rem !important;
+    padding-bottom: 0.5rem !important;
+  }
+  .py-lg-3 {
+    padding-top: 1rem !important;
+    padding-bottom: 1rem !important;
+  }
+  .py-lg-4 {
+    padding-top: 1.5rem !important;
+    padding-bottom: 1.5rem !important;
+  }
+  .py-lg-5 {
+    padding-top: 3rem !important;
+    padding-bottom: 3rem !important;
+  }
+  .pt-lg-0 {
+    padding-top: 0 !important;
+  }
+  .pt-lg-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pt-lg-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pt-lg-3 {
+    padding-top: 1rem !important;
+  }
+  .pt-lg-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pt-lg-5 {
+    padding-top: 3rem !important;
+  }
+  .pe-lg-0 {
+    padding-right: 0 !important;
+  }
+  .pe-lg-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pe-lg-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pe-lg-3 {
+    padding-right: 1rem !important;
+  }
+  .pe-lg-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pe-lg-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-lg-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-lg-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pb-lg-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pb-lg-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pb-lg-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pb-lg-5 {
+    padding-bottom: 3rem !important;
+  }
+  .ps-lg-0 {
+    padding-left: 0 !important;
+  }
+  .ps-lg-1 {
+    padding-left: 0.25rem !important;
+  }
+  .ps-lg-2 {
+    padding-left: 0.5rem !important;
+  }
+  .ps-lg-3 {
+    padding-left: 1rem !important;
+  }
+  .ps-lg-4 {
+    padding-left: 1.5rem !important;
+  }
+  .ps-lg-5 {
+    padding-left: 3rem !important;
+  }
+  .gap-lg-0 {
+    gap: 0 !important;
+  }
+  .gap-lg-1 {
+    gap: 0.25rem !important;
+  }
+  .gap-lg-2 {
+    gap: 0.5rem !important;
+  }
+  .gap-lg-3 {
+    gap: 1rem !important;
+  }
+  .gap-lg-4 {
+    gap: 1.5rem !important;
+  }
+  .gap-lg-5 {
+    gap: 3rem !important;
+  }
+  .text-lg-start {
+    text-align: left !important;
+  }
+  .text-lg-end {
+    text-align: right !important;
+  }
+  .text-lg-center {
+    text-align: center !important;
+  }
+}
+@media (min-width: 1200px) {
+  .float-xl-start {
+    float: left !important;
+  }
+  .float-xl-end {
+    float: right !important;
+  }
+  .float-xl-none {
+    float: none !important;
+  }
+  .d-xl-inline {
+    display: inline !important;
+  }
+  .d-xl-inline-block {
+    display: inline-block !important;
+  }
+  .d-xl-block {
+    display: block !important;
+  }
+  .d-xl-grid {
+    display: grid !important;
+  }
+  .d-xl-table {
+    display: table !important;
+  }
+  .d-xl-table-row {
+    display: table-row !important;
+  }
+  .d-xl-table-cell {
+    display: table-cell !important;
+  }
+  .d-xl-flex {
+    display: flex !important;
+  }
+  .d-xl-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-xl-none {
+    display: none !important;
+  }
+  .flex-xl-fill {
+    flex: 1 1 auto !important;
+  }
+  .flex-xl-row {
+    flex-direction: row !important;
+  }
+  .flex-xl-column {
+    flex-direction: column !important;
+  }
+  .flex-xl-row-reverse {
+    flex-direction: row-reverse !important;
+  }
+  .flex-xl-column-reverse {
+    flex-direction: column-reverse !important;
+  }
+  .flex-xl-grow-0 {
+    flex-grow: 0 !important;
+  }
+  .flex-xl-grow-1 {
+    flex-grow: 1 !important;
+  }
+  .flex-xl-shrink-0 {
+    flex-shrink: 0 !important;
+  }
+  .flex-xl-shrink-1 {
+    flex-shrink: 1 !important;
+  }
+  .flex-xl-wrap {
+    flex-wrap: wrap !important;
+  }
+  .flex-xl-nowrap {
+    flex-wrap: nowrap !important;
+  }
+  .flex-xl-wrap-reverse {
+    flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-xl-start {
+    justify-content: flex-start !important;
+  }
+  .justify-content-xl-end {
+    justify-content: flex-end !important;
+  }
+  .justify-content-xl-center {
+    justify-content: center !important;
+  }
+  .justify-content-xl-between {
+    justify-content: space-between !important;
+  }
+  .justify-content-xl-around {
+    justify-content: space-around !important;
+  }
+  .justify-content-xl-evenly {
+    justify-content: space-evenly !important;
+  }
+  .align-items-xl-start {
+    align-items: flex-start !important;
+  }
+  .align-items-xl-end {
+    align-items: flex-end !important;
+  }
+  .align-items-xl-center {
+    align-items: center !important;
+  }
+  .align-items-xl-baseline {
+    align-items: baseline !important;
+  }
+  .align-items-xl-stretch {
+    align-items: stretch !important;
+  }
+  .align-content-xl-start {
+    align-content: flex-start !important;
+  }
+  .align-content-xl-end {
+    align-content: flex-end !important;
+  }
+  .align-content-xl-center {
+    align-content: center !important;
+  }
+  .align-content-xl-between {
+    align-content: space-between !important;
+  }
+  .align-content-xl-around {
+    align-content: space-around !important;
+  }
+  .align-content-xl-stretch {
+    align-content: stretch !important;
+  }
+  .align-self-xl-auto {
+    align-self: auto !important;
+  }
+  .align-self-xl-start {
+    align-self: flex-start !important;
+  }
+  .align-self-xl-end {
+    align-self: flex-end !important;
+  }
+  .align-self-xl-center {
+    align-self: center !important;
+  }
+  .align-self-xl-baseline {
+    align-self: baseline !important;
+  }
+  .align-self-xl-stretch {
+    align-self: stretch !important;
+  }
+  .order-xl-first {
+    order: -1 !important;
+  }
+  .order-xl-0 {
+    order: 0 !important;
+  }
+  .order-xl-1 {
+    order: 1 !important;
+  }
+  .order-xl-2 {
+    order: 2 !important;
+  }
+  .order-xl-3 {
+    order: 3 !important;
+  }
+  .order-xl-4 {
+    order: 4 !important;
+  }
+  .order-xl-5 {
+    order: 5 !important;
+  }
+  .order-xl-last {
+    order: 6 !important;
+  }
+  .m-xl-0 {
+    margin: 0 !important;
+  }
+  .m-xl-1 {
+    margin: 0.25rem !important;
+  }
+  .m-xl-2 {
+    margin: 0.5rem !important;
+  }
+  .m-xl-3 {
+    margin: 1rem !important;
+  }
+  .m-xl-4 {
+    margin: 1.5rem !important;
+  }
+  .m-xl-5 {
+    margin: 3rem !important;
+  }
+  .m-xl-auto {
+    margin: auto !important;
+  }
+  .mx-xl-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .mx-xl-1 {
+    margin-right: 0.25rem !important;
+    margin-left: 0.25rem !important;
+  }
+  .mx-xl-2 {
+    margin-right: 0.5rem !important;
+    margin-left: 0.5rem !important;
+  }
+  .mx-xl-3 {
+    margin-right: 1rem !important;
+    margin-left: 1rem !important;
+  }
+  .mx-xl-4 {
+    margin-right: 1.5rem !important;
+    margin-left: 1.5rem !important;
+  }
+  .mx-xl-5 {
+    margin-right: 3rem !important;
+    margin-left: 3rem !important;
+  }
+  .mx-xl-auto {
+    margin-right: auto !important;
+    margin-left: auto !important;
+  }
+  .my-xl-0 {
+    margin-top: 0 !important;
+    margin-bottom: 0 !important;
+  }
+  .my-xl-1 {
+    margin-top: 0.25rem !important;
+    margin-bottom: 0.25rem !important;
+  }
+  .my-xl-2 {
+    margin-top: 0.5rem !important;
+    margin-bottom: 0.5rem !important;
+  }
+  .my-xl-3 {
+    margin-top: 1rem !important;
+    margin-bottom: 1rem !important;
+  }
+  .my-xl-4 {
+    margin-top: 1.5rem !important;
+    margin-bottom: 1.5rem !important;
+  }
+  .my-xl-5 {
+    margin-top: 3rem !important;
+    margin-bottom: 3rem !important;
+  }
+  .my-xl-auto {
+    margin-top: auto !important;
+    margin-bottom: auto !important;
+  }
+  .mt-xl-0 {
+    margin-top: 0 !important;
+  }
+  .mt-xl-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mt-xl-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mt-xl-3 {
+    margin-top: 1rem !important;
+  }
+  .mt-xl-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mt-xl-5 {
+    margin-top: 3rem !important;
+  }
+  .mt-xl-auto {
+    margin-top: auto !important;
+  }
+  .me-xl-0 {
+    margin-right: 0 !important;
+  }
+  .me-xl-1 {
+    margin-right: 0.25rem !important;
+  }
+  .me-xl-2 {
+    margin-right: 0.5rem !important;
+  }
+  .me-xl-3 {
+    margin-right: 1rem !important;
+  }
+  .me-xl-4 {
+    margin-right: 1.5rem !important;
+  }
+  .me-xl-5 {
+    margin-right: 3rem !important;
+  }
+  .me-xl-auto {
+    margin-right: auto !important;
+  }
+  .mb-xl-0 {
+    margin-bottom: 0 !important;
+  }
+  .mb-xl-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .mb-xl-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .mb-xl-3 {
+    margin-bottom: 1rem !important;
+  }
+  .mb-xl-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .mb-xl-5 {
+    margin-bottom: 3rem !important;
+  }
+  .mb-xl-auto {
+    margin-bottom: auto !important;
+  }
+  .ms-xl-0 {
+    margin-left: 0 !important;
+  }
+  .ms-xl-1 {
+    margin-left: 0.25rem !important;
+  }
+  .ms-xl-2 {
+    margin-left: 0.5rem !important;
+  }
+  .ms-xl-3 {
+    margin-left: 1rem !important;
+  }
+  .ms-xl-4 {
+    margin-left: 1.5rem !important;
+  }
+  .ms-xl-5 {
+    margin-left: 3rem !important;
+  }
+  .ms-xl-auto {
+    margin-left: auto !important;
+  }
+  .p-xl-0 {
+    padding: 0 !important;
+  }
+  .p-xl-1 {
+    padding: 0.25rem !important;
+  }
+  .p-xl-2 {
+    padding: 0.5rem !important;
+  }
+  .p-xl-3 {
+    padding: 1rem !important;
+  }
+  .p-xl-4 {
+    padding: 1.5rem !important;
+  }
+  .p-xl-5 {
+    padding: 3rem !important;
+  }
+  .px-xl-0 {
+    padding-right: 0 !important;
+    padding-left: 0 !important;
+  }
+  .px-xl-1 {
+    padding-right: 0.25rem !important;
+    padding-left: 0.25rem !important;
+  }
+  .px-xl-2 {
+    padding-right: 0.5rem !important;
+    padding-left: 0.5rem !important;
+  }
+  .px-xl-3 {
+    padding-right: 1rem !important;
+    padding-left: 1rem !important;
+  }
+  .px-xl-4 {
+    padding-right: 1.5rem !important;
+    padding-left: 1.5rem !important;
+  }
+  .px-xl-5 {
+    padding-right: 3rem !important;
+    padding-left: 3rem !important;
+  }
+  .py-xl-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-xl-1 {
+    padding-top: 0.25rem !important;
+    padding-bottom: 0.25rem !important;
+  }
+  .py-xl-2 {
+    padding-top: 0.5rem !important;
+    padding-bottom: 0.5rem !important;
+  }
+  .py-xl-3 {
+    padding-top: 1rem !important;
+    padding-bottom: 1rem !important;
+  }
+  .py-xl-4 {
+    padding-top: 1.5rem !important;
+    padding-bottom: 1.5rem !important;
+  }
+  .py-xl-5 {
+    padding-top: 3rem !important;
+    padding-bottom: 3rem !important;
+  }
+  .pt-xl-0 {
+    padding-top: 0 !important;
+  }
+  .pt-xl-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pt-xl-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pt-xl-3 {
+    padding-top: 1rem !important;
+  }
+  .pt-xl-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pt-xl-5 {
+    padding-top: 3rem !important;
+  }
+  .pe-xl-0 {
+    padding-right: 0 !important;
+  }
+  .pe-xl-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pe-xl-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pe-xl-3 {
+    padding-right: 1rem !important;
+  }
+  .pe-xl-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pe-xl-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-xl-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-xl-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pb-xl-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pb-xl-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pb-xl-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pb-xl-5 {
+    padding-bottom: 3rem !important;
+  }
+  .ps-xl-0 {
+    padding-left: 0 !important;
+  }
+  .ps-xl-1 {
+    padding-left: 0.25rem !important;
+  }
+  .ps-xl-2 {
+    padding-left: 0.5rem !important;
+  }
+  .ps-xl-3 {
+    padding-left: 1rem !important;
+  }
+  .ps-xl-4 {
+    padding-left: 1.5rem !important;
+  }
+  .ps-xl-5 {
+    padding-left: 3rem !important;
+  }
+  .gap-xl-0 {
+    gap: 0 !important;
+  }
+  .gap-xl-1 {
+    gap: 0.25rem !important;
+  }
+  .gap-xl-2 {
+    gap: 0.5rem !important;
+  }
+  .gap-xl-3 {
+    gap: 1rem !important;
+  }
+  .gap-xl-4 {
+    gap: 1.5rem !important;
+  }
+  .gap-xl-5 {
+    gap: 3rem !important;
+  }
+  .text-xl-start {
+    text-align: left !important;
+  }
+  .text-xl-end {
+    text-align: right !important;
+  }
+  .text-xl-center {
+    text-align: center !important;
+  }
+}
+@media (min-width: 1400px) {
+  .float-xxl-start {
+    float: left !important;
+  }
+  .float-xxl-end {
+    float: right !important;
+  }
+  .float-xxl-none {
+    float: none !important;
+  }
+  .d-xxl-inline {
+    display: inline !important;
+  }
+  .d-xxl-inline-block {
+    display: inline-block !important;
+  }
+  .d-xxl-block {
+    display: block !important;
+  }
+  .d-xxl-grid {
+    display: grid !important;
+  }
+  .d-xxl-table {
+    display: table !important;
+  }
+  .d-xxl-table-row {
+    display: table-row !important;
+  }
+  .d-xxl-table-cell {
+    display: table-cell !important;
+  }
+  .d-xxl-flex {
+    display: flex !important;
+  }
+  .d-xxl-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-xxl-none {
+    display: none !important;
+  }
+  .flex-xxl-fill {
+    flex: 1 1 auto !important;
+  }
+  .flex-xxl-row {
+    flex-direction: row !important;
+  }
+  .flex-xxl-column {
+    flex-direction: column !important;
+  }
+  .flex-xxl-row-reverse {
+    flex-direction: row-reverse !important;
+  }
+  .flex-xxl-column-reverse {
+    flex-direction: column-reverse !important;
+  }
+  .flex-xxl-grow-0 {
+    flex-grow: 0 !important;
+  }
+  .flex-xxl-grow-1 {
+    flex-grow: 1 !important;
+  }
+  .flex-xxl-shrink-0 {
+    flex-shrink: 0 !important;
+  }
+  .flex-xxl-shrink-1 {
+    flex-shrink: 1 !important;
+  }
+  .flex-xxl-wrap {
+    flex-wrap: wrap !important;
+  }
+  .flex-xxl-nowrap {
+    flex-wrap: nowrap !important;
+  }
+  .flex-xxl-wrap-reverse {
+    flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-xxl-start {
+    justify-content: flex-start !important;
+  }
+  .justify-content-xxl-end {
+    justify-content: flex-end !important;
+  }
+  .justify-content-xxl-center {
+    justify-content: center !important;
+  }
+  .justify-content-xxl-between {
+    justify-content: space-between !important;
+  }
+  .justify-content-xxl-around {
+    justify-content: space-around !important;
+  }
+  .justify-content-xxl-evenly {
+    justify-content: space-evenly !important;
+  }
+  .align-items-xxl-start {
+    align-items: flex-start !important;
+  }
+  .align-items-xxl-end {
+    align-items: flex-end !important;
+  }
+  .align-items-xxl-center {
+    align-items: center !important;
+  }
+  .align-items-xxl-baseline {
+    align-items: baseline !important;
+  }
+  .align-items-xxl-stretch {
+    align-items: stretch !important;
+  }
+  .align-content-xxl-start {
+    align-content: flex-start !important;
+  }
+  .align-content-xxl-end {
+    align-content: flex-end !important;
+  }
+  .align-content-xxl-center {
+    align-content: center !important;
+  }
+  .align-content-xxl-between {
+    align-content: space-between !important;
+  }
+  .align-content-xxl-around {
+    align-content: space-around !important;
+  }
+  .align-content-xxl-stretch {
+    align-content: stretch !important;
+  }
+  .align-self-xxl-auto {
+    align-self: auto !important;
+  }
+  .align-self-xxl-start {
+    align-self: flex-start !important;
+  }
+  .align-self-xxl-end {
+    align-self: flex-end !important;
+  }
+  .align-self-xxl-center {
+    align-self: center !important;
+  }
+  .align-self-xxl-baseline {
+    align-self: baseline !important;
+  }
+  .align-self-xxl-stretch {
+    align-self: stretch !important;
+  }
+  .order-xxl-first {
+    order: -1 !important;
+  }
+  .order-xxl-0 {
+    order: 0 !important;
+  }
+  .order-xxl-1 {
+    order: 1 !important;
+  }
+  .order-xxl-2 {
+    order: 2 !important;
+  }
+  .order-xxl-3 {
+    order: 3 !important;
+  }
+  .order-xxl-4 {
+    order: 4 !important;
+  }
+  .order-xxl-5 {
+    order: 5 !important;
+  }
+  .order-xxl-last {
+    order: 6 !important;
+  }
+  .m-xxl-0 {
+    margin: 0 !important;
+  }
+  .m-xxl-1 {
+    margin: 0.25rem !important;
+  }
+  .m-xxl-2 {
+    margin: 0.5rem !important;
+  }
+  .m-xxl-3 {
+    margin: 1rem !important;
+  }
+  .m-xxl-4 {
+    margin: 1.5rem !important;
+  }
+  .m-xxl-5 {
+    margin: 3rem !important;
+  }
+  .m-xxl-auto {
+    margin: auto !important;
+  }
+  .mx-xxl-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .mx-xxl-1 {
+    margin-right: 0.25rem !important;
+    margin-left: 0.25rem !important;
+  }
+  .mx-xxl-2 {
+    margin-right: 0.5rem !important;
+    margin-left: 0.5rem !important;
+  }
+  .mx-xxl-3 {
+    margin-right: 1rem !important;
+    margin-left: 1rem !important;
+  }
+  .mx-xxl-4 {
+    margin-right: 1.5rem !important;
+    margin-left: 1.5rem !important;
+  }
+  .mx-xxl-5 {
+    margin-right: 3rem !important;
+    margin-left: 3rem !important;
+  }
+  .mx-xxl-auto {
+    margin-right: auto !important;
+    margin-left: auto !important;
+  }
+  .my-xxl-0 {
+    margin-top: 0 !important;
+    margin-bottom: 0 !important;
+  }
+  .my-xxl-1 {
+    margin-top: 0.25rem !important;
+    margin-bottom: 0.25rem !important;
+  }
+  .my-xxl-2 {
+    margin-top: 0.5rem !important;
+    margin-bottom: 0.5rem !important;
+  }
+  .my-xxl-3 {
+    margin-top: 1rem !important;
+    margin-bottom: 1rem !important;
+  }
+  .my-xxl-4 {
+    margin-top: 1.5rem !important;
+    margin-bottom: 1.5rem !important;
+  }
+  .my-xxl-5 {
+    margin-top: 3rem !important;
+    margin-bottom: 3rem !important;
+  }
+  .my-xxl-auto {
+    margin-top: auto !important;
+    margin-bottom: auto !important;
+  }
+  .mt-xxl-0 {
+    margin-top: 0 !important;
+  }
+  .mt-xxl-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mt-xxl-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mt-xxl-3 {
+    margin-top: 1rem !important;
+  }
+  .mt-xxl-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mt-xxl-5 {
+    margin-top: 3rem !important;
+  }
+  .mt-xxl-auto {
+    margin-top: auto !important;
+  }
+  .me-xxl-0 {
+    margin-right: 0 !important;
+  }
+  .me-xxl-1 {
+    margin-right: 0.25rem !important;
+  }
+  .me-xxl-2 {
+    margin-right: 0.5rem !important;
+  }
+  .me-xxl-3 {
+    margin-right: 1rem !important;
+  }
+  .me-xxl-4 {
+    margin-right: 1.5rem !important;
+  }
+  .me-xxl-5 {
+    margin-right: 3rem !important;
+  }
+  .me-xxl-auto {
+    margin-right: auto !important;
+  }
+  .mb-xxl-0 {
+    margin-bottom: 0 !important;
+  }
+  .mb-xxl-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .mb-xxl-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .mb-xxl-3 {
+    margin-bottom: 1rem !important;
+  }
+  .mb-xxl-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .mb-xxl-5 {
+    margin-bottom: 3rem !important;
+  }
+  .mb-xxl-auto {
+    margin-bottom: auto !important;
+  }
+  .ms-xxl-0 {
+    margin-left: 0 !important;
+  }
+  .ms-xxl-1 {
+    margin-left: 0.25rem !important;
+  }
+  .ms-xxl-2 {
+    margin-left: 0.5rem !important;
+  }
+  .ms-xxl-3 {
+    margin-left: 1rem !important;
+  }
+  .ms-xxl-4 {
+    margin-left: 1.5rem !important;
+  }
+  .ms-xxl-5 {
+    margin-left: 3rem !important;
+  }
+  .ms-xxl-auto {
+    margin-left: auto !important;
+  }
+  .p-xxl-0 {
+    padding: 0 !important;
+  }
+  .p-xxl-1 {
+    padding: 0.25rem !important;
+  }
+  .p-xxl-2 {
+    padding: 0.5rem !important;
+  }
+  .p-xxl-3 {
+    padding: 1rem !important;
+  }
+  .p-xxl-4 {
+    padding: 1.5rem !important;
+  }
+  .p-xxl-5 {
+    padding: 3rem !important;
+  }
+  .px-xxl-0 {
+    padding-right: 0 !important;
+    padding-left: 0 !important;
+  }
+  .px-xxl-1 {
+    padding-right: 0.25rem !important;
+    padding-left: 0.25rem !important;
+  }
+  .px-xxl-2 {
+    padding-right: 0.5rem !important;
+    padding-left: 0.5rem !important;
+  }
+  .px-xxl-3 {
+    padding-right: 1rem !important;
+    padding-left: 1rem !important;
+  }
+  .px-xxl-4 {
+    padding-right: 1.5rem !important;
+    padding-left: 1.5rem !important;
+  }
+  .px-xxl-5 {
+    padding-right: 3rem !important;
+    padding-left: 3rem !important;
+  }
+  .py-xxl-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-xxl-1 {
+    padding-top: 0.25rem !important;
+    padding-bottom: 0.25rem !important;
+  }
+  .py-xxl-2 {
+    padding-top: 0.5rem !important;
+    padding-bottom: 0.5rem !important;
+  }
+  .py-xxl-3 {
+    padding-top: 1rem !important;
+    padding-bottom: 1rem !important;
+  }
+  .py-xxl-4 {
+    padding-top: 1.5rem !important;
+    padding-bottom: 1.5rem !important;
+  }
+  .py-xxl-5 {
+    padding-top: 3rem !important;
+    padding-bottom: 3rem !important;
+  }
+  .pt-xxl-0 {
+    padding-top: 0 !important;
+  }
+  .pt-xxl-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pt-xxl-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pt-xxl-3 {
+    padding-top: 1rem !important;
+  }
+  .pt-xxl-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pt-xxl-5 {
+    padding-top: 3rem !important;
+  }
+  .pe-xxl-0 {
+    padding-right: 0 !important;
+  }
+  .pe-xxl-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pe-xxl-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pe-xxl-3 {
+    padding-right: 1rem !important;
+  }
+  .pe-xxl-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pe-xxl-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-xxl-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-xxl-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pb-xxl-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pb-xxl-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pb-xxl-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pb-xxl-5 {
+    padding-bottom: 3rem !important;
+  }
+  .ps-xxl-0 {
+    padding-left: 0 !important;
+  }
+  .ps-xxl-1 {
+    padding-left: 0.25rem !important;
+  }
+  .ps-xxl-2 {
+    padding-left: 0.5rem !important;
+  }
+  .ps-xxl-3 {
+    padding-left: 1rem !important;
+  }
+  .ps-xxl-4 {
+    padding-left: 1.5rem !important;
+  }
+  .ps-xxl-5 {
+    padding-left: 3rem !important;
+  }
+  .gap-xxl-0 {
+    gap: 0 !important;
+  }
+  .gap-xxl-1 {
+    gap: 0.25rem !important;
+  }
+  .gap-xxl-2 {
+    gap: 0.5rem !important;
+  }
+  .gap-xxl-3 {
+    gap: 1rem !important;
+  }
+  .gap-xxl-4 {
+    gap: 1.5rem !important;
+  }
+  .gap-xxl-5 {
+    gap: 3rem !important;
+  }
+  .text-xxl-start {
+    text-align: left !important;
+  }
+  .text-xxl-end {
+    text-align: right !important;
+  }
+  .text-xxl-center {
+    text-align: center !important;
+  }
+}
+@media (min-width: 1200px) {
+  .fs-1 {
+    font-size: 2.5rem !important;
+  }
+  .fs-2 {
+    font-size: 2rem !important;
+  }
+  .fs-3 {
+    font-size: 1.75rem !important;
+  }
+  .fs-4 {
+    font-size: 1.5rem !important;
+  }
+}
+@media print {
+  .d-print-inline {
+    display: inline !important;
+  }
+  .d-print-inline-block {
+    display: inline-block !important;
+  }
+  .d-print-block {
+    display: block !important;
+  }
+  .d-print-grid {
+    display: grid !important;
+  }
+  .d-print-table {
+    display: table !important;
+  }
+  .d-print-table-row {
+    display: table-row !important;
+  }
+  .d-print-table-cell {
+    display: table-cell !important;
+  }
+  .d-print-flex {
+    display: flex !important;
+  }
+  .d-print-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-print-none {
+    display: none !important;
+  }
+}
+.features-icons {
+  padding-top: 7rem;
+  padding-bottom: 7rem;
+}
+.features-icons .features-icons-item {
+  max-width: 20rem;
+}
+.features-icons .features-icons-item .features-icons-icon {
+  height: 7rem;
+}
+.features-icons .features-icons-item .features-icons-icon i {
+  font-size: 4.5rem;
+}
+
+header.masthead {
+  position: relative;
+  background-color: #343a40;
+  background: url("../assets/img/bg-masthead.png") no-repeat center center;
+  background-size: cover;
+  padding-top: 8rem;
+  padding-bottom: 8rem;
+}
+header.masthead:before {
+  content: "";
+  position: absolute;
+  background-color: #1c375e;
+  height: 100%;
+  width: 100%;
+  top: 0;
+  left: 0;
+  opacity: 0.1;
+}
+header.masthead h1, header.masthead .h1 {
+  font-size: 2rem;
+}
+@media (min-width: 768px) {
+  header.masthead {
+    padding-top: 12rem;
+    padding-bottom: 12rem;
+  }
+  header.masthead h1, header.masthead .h1 {
+    font-size: 3rem;
+  }
+}
+
+.showcase .showcase-text {
+  padding: 3rem;
+}
+.showcase .showcase-img {
+  min-height: 30rem;
+  background-size: cover;
+}
+@media (min-width: 768px) {
+  .showcase .showcase-text {
+    padding: 7rem;
+  }
+}
+
+.testimonials {
+  padding-top: 7rem;
+  padding-bottom: 7rem;
+}
+.testimonials .testimonial-item {
+  max-width: 18rem;
+}
+.testimonials .testimonial-item img {
+  max-width: 12rem;
+  box-shadow: 0px 5px 5px 0px #adb5bd;
+}
+
+.call-to-action {
+  position: relative;
+  background-color: #343a40;
+  background: url("../assets/img/bg-masthead.png") no-repeat center center;
+  background-size: cover;
+  padding-top: 7rem;
+  padding-bottom: 7rem;
+}
+.call-to-action:before {
+  content: "";
+  position: absolute;
+  background-color: #1c375e;
+  height: 100%;
+  width: 100%;
+  top: 0;
+  left: 0;
+  opacity: 0.5;
+}
+
+footer.footer {
+  padding-top: 4rem;
+  padding-bottom: 4rem;
+}
\ No newline at end of file
diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index 202d3b35f..105f23e9c 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -1,136 +1,125 @@
 <!DOCTYPE html>
 <html lang="en">
     <head>
-    <title>Malcolm</title>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <link href="assets/css/bootstrap.min.css" rel="stylesheet">
-    <script src="assets/js/bootstrap.bundle.min.js"></script>
-    <style>
-        .imgcenter {
-            width: 50%;
-        }
-        .center {
-            display: block;
-            margin-left: auto;
-            margin-right: auto;
-        }
-        .card {
-        /* position: relative; */
-        width: 50%;
-        }
-        .image {
-        opacity: 1;
-        display: block;
-        width: 100%;
-        height: auto;
-        transition: .5s ease;
-        backface-visibility: hidden;
-        }
-
-        .middle {
-        transition: .5s ease;
-        opacity: 0;
-        position: absolute;
-        top: 50%;
-        left: 50%;
-        transform: translate(-50%, -50%);
-        -ms-transform: translate(-50%, -50%);
-        text-align: center;
-        }
-
-        .card:hover .image {
-        opacity: 0.3;
-        }
-
-        .card:hover .middle {
-        opacity: 1;
-        }
-    </style>
+        <meta charset="utf-8" />
+        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
+        <meta name="description" content="" />
+        <meta name="author" content="" />
+        <title>Landing Page - Start Bootstrap Theme</title>
+        <!-- Favicon-->
+        <link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
+        <!-- Bootstrap icons-->
+        <link href="css/bootstrap-icons.css" rel="stylesheet" type="text/css" />
+        <!-- Google fonts-->
+        <link href="css/google-fonts.css" rel="stylesheet" type="text/css" />
+        <!-- Core theme CSS (includes Bootstrap)-->
+        <link href="css/styles.css" rel="stylesheet" />
     </head>
-
-    <body class="bg-dark">
-        <br />
-        <div>
-            <img class="imgcenter center" src="readme/docs/images/logo/Malcolm_outline_banner_dark.png">
-        </div>
-
-        <br />
-
-        <!-- Internal Links -->
-        <div class="container">
-            <h3 style="color:white">Internal Links</h3>
-            <div class="card-group">
-                <div class="card bg-dark">
-                    <img src="assets/imgs/Arkime_Logo_FullGradientWhite_Square.png" alt="Arkime" class="image" style="width:100%">
-                    <div class="middle">
-                        <a href="/arkime/" class="btn btn-primary" target="_blank">Arkime</a>
+    <body>
+        <!-- Navigation-->
+        <nav class="navbar navbar-light bg-light static-top">
+            <div class="container"/>
+        </nav>
+        <!-- Masthead-->
+        <header class="masthead">
+            <div class="container position-relative">
+                <div class="row justify-content-center">
+                    <div class="col-xl-6">
+                        <div class="text-center text-white">
+                            <!-- Page heading-->
+                            <h1 class="mb-5"/>
+                        </div>
                     </div>
                 </div>
-                <div class="card bg-dark">
-                    <img src="assets/imgs/upload.svg" alt="Upload" class="image" style="width:100%;filter: invert(1)">
-                    <div class="middle">
-                        <a href="/upload/" class="btn btn-primary" target="_blank">Upload</a>
+            </div>
+        </header>
+        <!-- Icons Grid-->
+        <section class="features-icons bg-light text-center">
+            <div class="container">
+                <div class="row">
+                    <div class="col-lg-3">
+                        <div class="features-icons-item mx-auto mb-0 mb-lg-3">
+                            <a href="/dashboards/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/opensearch_mark_default.svg"/>
+                            <h3>Dashboards</h3></a>
+                            <p class="lead mb-0">Visualize traffic or track down security concerns with dozens of pre-built dashboards, or create your own</p>
+                        </div>
                     </div>
-                </div>
-                <div class="card bg-dark">
-                    <img src="assets/imgs/help-square-rounded.svg" alt="ReadMe" class="image" style="width:100%;filter: invert(1)">
-                    <div class="middle">
-                        <a href="/readme/" class="btn btn-primary" target="_blank">ReadMe</a>
+                    <div class="col-lg-3">
+                        <div class="features-icons-item mx-auto mb-5 mb-lg-3">
+                            <a href="/arkime/"><img style='width: 19%; height: 19%; object-fit: contain' src="assets/img/Arkime_Logo_FullGradientBlack.svg#svgView(viewBox(0, 8, 80, 145))"/>
+                            <h3>Arkime</h3></a>
+                            <p class="lead mb-0">Delve into session details including full packet payloads</p>
+                        </div>
                     </div>
-                </div>
-                <div class="card bg-dark">
-                    <img src="assets/imgs/opensearch_mark_darkmode.svg" alt="Opensearch" class="image" style="width:100%">
-                    <div class="middle">
-                        <a href="/dashboards/" class="btn btn-primary" target="_blank">Dashboards</a>
+                    <div class="col-lg-3">
+                        <div class="features-icons-item mx-auto mb-0 mb-lg-3">
+                            <a href="/netbox/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/netbox_icon.svg"/>
+                            <h3>NetBox</h3></a>
+                            <p class="lead mb-0">Model and document your network infrastructure</p>
+                        </div>
                     </div>
-                </div>
-            </div>
-            <div class="card-group">
-                <div class="card bg-dark">
-                    <img src="assets/imgs/netbox_icon.svg" alt="NetBox" class="image" style="width:100%">
-                    <div class="middle">
-                        <a href="/netbox/" class="btn btn-primary" target="_blank">NetBox</a>
+                    <div class="col-lg-3">
+                        <div class="features-icons-item mx-auto mb-0 mb-lg-3">
+                            <a href="/arkime/cyberchef/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/cyberchef.svg"/>
+                            <h3>CyberChef</h3></a>
+                            <p class="lead mb-0">Slice and dice data with this web app for encryption, encoding, compression and data analysis</p>
+                        </div>
                     </div>
                 </div>
-                <div class="card bg-dark">
-                    <img src="assets/imgs/users-group.svg" alt="Auth" class="image" style="width:100%;filter: invert(1)">
-                    <div class="middle">
-                        <a href="/auth/" class="btn btn-primary" target="_blank">Local Account Management</a>
-                    </div>                
-                </div>
-                <div class="card bg-dark">
-                    <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%">
-                    <div class="middle">
-                        <a href="/arkime/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a>
-                    </div>                
-                </div>
-                <div class="card bg-dark">    
-                    <img src="assets/imgs/api.svg" alt="API" class="image" style="width:100%;filter: invert(1)">
-                    <div class="middle">
-                        <a href="/mapi/" class="btn btn-primary" target="_blank">API</a>
-                    </div>             
+                <div class="row">
+                    <div class="col-lg-3">
+                        <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3">
+                            <a href="/readme/"><div class="features-icons-icon d-flex"><i class="bi-journal-richtext m-auto text-primary"></i></div>
+                            <h3>Documentation</h3></a>
+                            <p class="lead mb-0">Read the Malcolm user guide</p>
+                        </div>
+                    </div>
+                    <div class="col-lg-3">
+                        <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3">
+                            <a href="/upload/"><div class="features-icons-icon d-flex"><i class="bi-upload m-auto text-primary"></i></div>
+                            <h3>Artifact Upload</h3></a>
+                            <p class="lead mb-0">Upload previously-captured PCAP files or archived Zeek logs for analysis</p>
+                        </div>
+                    </div>
+                    <div class="col-lg-3">
+                        <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3">
+                            <a href="/auth/"><div class="features-icons-icon d-flex"><i class="bi-person m-auto text-primary"></i></div>
+                            <h3>Local Account Management</h3></a>
+                            <p class="lead mb-0">Manage the local user accounts maintained by Malcolm</p>
+                        </div>
+                    </div>
+                    <div class="col-lg-3">
+                        <div class="features-icons-item mx-auto mb-0 mb-lg-3">
+                            <a href="/mapi/"><div class="features-icons-icon d-flex"><i class="bi-gear m-auto text-primary"></i></div>
+                            <h3>API</h3></a>
+                            <p class="lead mb-0">Interface with Malcolm's underlying data via a REST API</p>
+                        </div>
+                    </div>
                 </div>
             </div>
-        </div>
-        <br />
-
-        <div class="container">
-            <h3 style="color:white">External Links</h3>
-            <div class="card-group">
-                <div class="card bg-dark">
-                    <img src="assets/imgs/GitHub-Mark-Light-120px-plus.png" alt="Auth" class="image" style="width:100%">
-                    <div class="middle">
-                        <a href="https://github.com/idaholab/Malcolm" class="btn btn-primary" target="_blank">GitHub</a>
-                    </div>                
-                </div>
-                <div class="card bg-dark">             
-                </div>
-                <div class="card bg-dark">             
-                </div>
-                <div class="card bg-dark">             
+        </section>
+        <!-- Footer-->
+        <footer class="footer bg-light">
+            <div class="container">
+                <div class="row">
+                    <div class="col-lg-6 h-100 text-center text-lg-start my-auto">
+                        <p class="text-muted small mb-4 mb-lg-0">
+                        &copy; 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the
+                        Cybersecurity and Infrastructure Security Agency of the U.S. Department of Homeland Security.</p>
+                    </div>
+                    <div class="col-lg-6 h-100 text-center text-lg-end my-auto">
+                        <ul class="list-inline mb-0">
+                            <li class="list-inline-item">
+                                <a href="https://github.com/idaholab/Malcolm"><i class="bi-github fs-3"></i></a>
+                            </li>
+                        </ul>
+                    </div>
                 </div>
             </div>
-        </div>
+        </footer>
+        <!-- Bootstrap core JS-->
+        <script src="js/bootstrap.bundle.min.js"></script>
+        <!-- Core theme JS-->
+        <script src="js/scripts.js"></script>
     </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/nginx/landingpage/js/bootstrap.bundle.min.js b/nginx/landingpage/js/bootstrap.bundle.min.js
new file mode 100644
index 000000000..819659b4e
--- /dev/null
+++ b/nginx/landingpage/js/bootstrap.bundle.min.js
@@ -0,0 +1,7 @@
+/*!
+  * Bootstrap v5.2.3 (https://getbootstrap.com/)
+  * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},m=t=>{"function"==typeof t&&t()},_=(e,i,n=!0)=>{if(!n)return void m(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),m(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=N(t);return C.has(o)||(o=t),[n,s,o]}function D(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return j(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return j(n,{delegateTarget:t}),i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function S(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t,e,i,n){const s=e[i]||{};for(const o of Object.keys(s))if(o.includes(n)){const n=s[o];S(t,e,i,n.callable,n.delegationSelector)}}function N(t){return t=t.replace(y,""),T[t]||t}const P={on(t,e,i,n){D(t,e,i,n,!1)},one(t,e,i,n){D(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))I(t,l,i,e.slice(1));for(const i of Object.keys(c)){const n=i.replace(w,"");if(!a||e.includes(n)){const e=c[i];S(t,l,r,e.callable,e.delegationSelector)}}}else{if(!Object.keys(c).length)return;S(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=j(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function j(t,e){for(const[i,n]of Object.entries(e||{}))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};function $(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function W(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${W(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${W(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=$(t.dataset[n])}return e},getDataAttribute:(t,e)=>$(t.getAttribute(`data-bs-${W(e)}`))};class F{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const n of Object.keys(e)){const s=e[n],r=t[n],a=o(r)?"element":null==(i=r)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}var i}}class z extends F{constructor(t,e){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(e),H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.2.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;P.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class R extends z{static get NAME(){return"alert"}close(){if(P.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),P.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=R.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}q(R,"close"),g(R);const V='[data-bs-toggle="button"]';class K extends z{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}P.on(document,"click.bs.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()})),g(K);const Q={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))}},X={endCallback:null,leftCallback:null,rightCallback:null},Y={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class U extends F{constructor(t,e){super(),this._element=t,t&&U.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return X}static get DefaultType(){return Y}static get NAME(){return"swipe"}dispose(){P.off(this._element,".bs.swipe")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),m(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&m(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),P.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),P.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),P.on(this._element,"touchend.bs.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const G="next",J="prev",Z="left",tt="right",et="slid.bs.carousel",it="carousel",nt="active",st={ArrowLeft:tt,ArrowRight:Z},ot={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},rt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class at extends z{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=Q.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===it&&this.cycle()}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"carousel"}next(){this._slide(G)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(J)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,et,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,et,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?G:J;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),P.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&U.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of Q.find(".carousel-item img",this._element))P.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(Z)),rightCallback:()=>this._slide(this._directionToOrder(tt)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new U(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=st[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=Q.findOne(".active",this._indicatorsElement);e.classList.remove(nt),e.removeAttribute("aria-current");const i=Q.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(nt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===G,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r("slide.bs.carousel").defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(nt),i.classList.remove(nt,c,l),this._isSliding=!1,r(et)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return Q.findOne(".active.carousel-item",this._element)}_getItems(){return Q.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===Z?J:G:t===Z?G:J}_orderToDirection(t){return p()?t===J?Z:tt:t===J?tt:Z}static jQueryInterface(t){return this.each((function(){const e=at.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=n(this);if(!e||!e.classList.contains(it))return;t.preventDefault();const i=at.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),P.on(window,"load.bs.carousel.data-api",(()=>{const t=Q.find('[data-bs-ride="carousel"]');for(const e of t)at.getOrCreateInstance(e)})),g(at);const lt="show",ct="collapse",ht="collapsing",dt='[data-bs-toggle="collapse"]',ut={parent:null,toggle:!0},ft={parent:"(null|element)",toggle:"boolean"};class pt extends z{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const n=Q.find(dt);for(const t of n){const e=i(t),n=Q.find(e).filter((t=>t===this._element));null!==e&&n.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return ut}static get DefaultType(){return ft}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>pt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[e]="",P.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);for(const t of this._triggerArray){const e=n(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),P.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(dt);for(const e of t){const t=n(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=Q.find(":scope .collapse .collapse",this._config.parent);return Q.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}P.on(document,"click.bs.collapse.data-api",dt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this),n=Q.find(e);for(const t of n)pt.getOrCreateInstance(t,{toggle:!1}).toggle()})),g(pt);var gt="top",mt="bottom",_t="right",bt="left",vt="auto",yt=[gt,mt,_t,bt],wt="start",At="end",Et="clippingParents",Tt="viewport",Ct="popper",Ot="reference",xt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+At])}),[]),kt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+At])}),[]),Lt="beforeRead",Dt="read",St="afterRead",It="beforeMain",Nt="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",$t=[Lt,Dt,St,It,Nt,Pt,jt,Mt,Ht];function Wt(t){return t?(t.nodeName||"").toLowerCase():null}function Bt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Ft(t){return t instanceof Bt(t).Element||t instanceof Element}function zt(t){return t instanceof Bt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Bt(t).ShadowRoot||t instanceof ShadowRoot)}const Rt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];zt(s)&&Wt(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});zt(n)&&Wt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Vt(t){return t.split("-")[0]}var Kt=Math.max,Qt=Math.min,Xt=Math.round;function Yt(){var t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ut(){return!/^((?!chrome|android).)*safari/i.test(Yt())}function Gt(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&zt(t)&&(s=t.offsetWidth>0&&Xt(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Xt(n.height)/t.offsetHeight||1);var r=(Ft(t)?Bt(t):window).visualViewport,a=!Ut()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Jt(t){var e=Gt(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Zt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function te(t){return Bt(t).getComputedStyle(t)}function ee(t){return["table","td","th"].indexOf(Wt(t))>=0}function ie(t){return((Ft(t)?t.ownerDocument:t.document)||window.document).documentElement}function ne(t){return"html"===Wt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||ie(t)}function se(t){return zt(t)&&"fixed"!==te(t).position?t.offsetParent:null}function oe(t){for(var e=Bt(t),i=se(t);i&&ee(i)&&"static"===te(i).position;)i=se(i);return i&&("html"===Wt(i)||"body"===Wt(i)&&"static"===te(i).position)?e:i||function(t){var e=/firefox/i.test(Yt());if(/Trident/i.test(Yt())&&zt(t)&&"fixed"===te(t).position)return null;var i=ne(t);for(qt(i)&&(i=i.host);zt(i)&&["html","body"].indexOf(Wt(i))<0;){var n=te(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function re(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function ae(t,e,i){return Kt(t,Qt(e,i))}function le(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ce(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const he={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=Vt(i.placement),l=re(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return le("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ce(t,yt))}(s.padding,i),d=Jt(o),u="y"===l?gt:bt,f="y"===l?mt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],g=r[l]-i.rects.reference[l],m=oe(o),_=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,b=p/2-g/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=ae(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Zt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function de(t){return t.split("-")[1]}var ue={top:"auto",right:"auto",bottom:"auto",left:"auto"};function fe(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,g=void 0===p?0:p,m="function"==typeof h?h({x:f,y:g}):{x:f,y:g};f=m.x,g=m.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=bt,y=gt,w=window;if(c){var A=oe(i),E="clientHeight",T="clientWidth";A===Bt(i)&&"static"!==te(A=ie(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===gt||(s===bt||s===_t)&&o===At)&&(y=mt,g-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,g*=l?1:-1),s!==bt&&(s!==gt&&s!==mt||o!==At)||(v=_t,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&ue),x=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:Xt(e*n)/n||0,y:Xt(i*n)/n||0}}({x:f,y:g}):{x:f,y:g};return f=x.x,g=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+g+"px)":"translate3d("+f+"px, "+g+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?g+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const pe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:Vt(e.placement),variation:de(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,fe(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,fe(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ge={passive:!0};const me={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=Bt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ge)})),a&&l.addEventListener("resize",i.update,ge),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ge)})),a&&l.removeEventListener("resize",i.update,ge)}},data:{}};var _e={left:"right",right:"left",bottom:"top",top:"bottom"};function be(t){return t.replace(/left|right|bottom|top/g,(function(t){return _e[t]}))}var ve={start:"end",end:"start"};function ye(t){return t.replace(/start|end/g,(function(t){return ve[t]}))}function we(t){var e=Bt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ae(t){return Gt(ie(t)).left+we(t).scrollLeft}function Ee(t){var e=te(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Te(t){return["html","body","#document"].indexOf(Wt(t))>=0?t.ownerDocument.body:zt(t)&&Ee(t)?t:Te(ne(t))}function Ce(t,e){var i;void 0===e&&(e=[]);var n=Te(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Bt(n),r=s?[o].concat(o.visualViewport||[],Ee(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ce(ne(r)))}function Oe(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function xe(t,e,i){return e===Tt?Oe(function(t,e){var i=Bt(t),n=ie(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ut();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ae(t),y:l}}(t,i)):Ft(e)?function(t,e){var i=Gt(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Oe(function(t){var e,i=ie(t),n=we(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ae(t),l=-n.scrollTop;return"rtl"===te(s||i).direction&&(a+=Kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ie(t)))}function ke(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Vt(s):null,r=s?de(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case gt:e={x:a,y:i.y-n.height};break;case mt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?re(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case At:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Et:a,c=i.rootBoundary,h=void 0===c?Tt:c,d=i.elementContext,u=void 0===d?Ct:d,f=i.altBoundary,p=void 0!==f&&f,g=i.padding,m=void 0===g?0:g,_=le("number"!=typeof m?m:ce(m,yt)),b=u===Ct?Ot:Ct,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Ce(ne(t)),i=["absolute","fixed"].indexOf(te(t).position)>=0&&zt(t)?oe(t):t;return Ft(i)?e.filter((function(t){return Ft(t)&&Zt(t,i)&&"body"!==Wt(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=xe(t,i,n);return e.top=Kt(s.top,e.top),e.right=Qt(s.right,e.right),e.bottom=Qt(s.bottom,e.bottom),e.left=Kt(s.left,e.left),e}),xe(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Ft(y)?y:y.contextElement||ie(t.elements.popper),l,h,r),A=Gt(t.elements.reference),E=ke({reference:A,element:v,strategy:"absolute",placement:s}),T=Oe(Object.assign({},v,E)),C=u===Ct?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Ct&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[_t,mt].indexOf(t)>=0?1:-1,i=[gt,mt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function De(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?kt:l,h=de(n),d=h?a?xt:xt.filter((function(t){return de(t)===h})):yt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=Le(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Vt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Se={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,g=i.allowedAutoPlacements,m=e.options.placement,_=Vt(m),b=l||(_!==m&&p?function(t){if(Vt(t)===vt)return[];var e=be(t);return[ye(t),e,ye(e)]}(m):[be(m)]),v=[m].concat(b).reduce((function(t,i){return t.concat(Vt(i)===vt?De(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:g}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C<v.length;C++){var O=v[C],x=Vt(O),k=de(O)===wt,L=[gt,mt].indexOf(x)>=0,D=L?"width":"height",S=Le(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=L?k?_t:bt:k?mt:gt;y[D]>w[D]&&(I=be(I));var N=be(I),P=[];if(o&&P.push(S[x]<=0),a&&P.push(S[I]<=0,S[N]<=0),P.every((function(t){return t}))){T=O,E=!1;break}A.set(O,P)}if(E)for(var j=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ie(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Ne(t){return[gt,_t,mt,bt].some((function(e){return t[e]>=0}))}const Pe={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Le(e,{elementContext:"reference"}),a=Le(e,{altBoundary:!0}),l=Ie(r,n),c=Ie(a,s,o),h=Ne(l),d=Ne(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},je={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=kt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Vt(t),s=[bt,gt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[bt,_t].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Me={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ke({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},He={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,g=void 0===p?0:p,m=Le(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Vt(e.placement),b=de(e.placement),v=!b,y=re(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,D="y"===y?gt:bt,S="y"===y?mt:_t,I="y"===y?"height":"width",N=A[y],P=N+m[D],j=N-m[S],M=f?-T[I]/2:0,H=b===wt?E[I]:T[I],$=b===wt?-T[I]:-E[I],W=e.elements.arrow,B=f&&W?Jt(W):{width:0,height:0},F=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=F[D],q=F[S],R=ae(0,E[I],B[I]),V=v?E[I]/2-M-R-z-O.mainAxis:H-R-z-O.mainAxis,K=v?-E[I]/2+M+R+q+O.mainAxis:$+R+q+O.mainAxis,Q=e.elements.arrow&&oe(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=N+K-Y,G=ae(f?Qt(P,N+V-Y-X):P,N,f?Kt(j,U):j);A[y]=G,k[y]=G-N}if(a){var J,Z="x"===y?gt:bt,tt="x"===y?mt:_t,et=A[w],it="y"===w?"height":"width",nt=et+m[Z],st=et-m[tt],ot=-1!==[gt,bt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=ae(t,e,i);return n>i?i:n}(at,et,lt):ae(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function $e(t,e,i){void 0===i&&(i=!1);var n,s,o=zt(e),r=zt(e)&&function(t){var e=t.getBoundingClientRect(),i=Xt(e.width)/t.offsetWidth||1,n=Xt(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ie(e),l=Gt(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Wt(e)||Ee(a))&&(c=(n=e)!==Bt(n)&&zt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:we(n)),zt(e)?((h=Gt(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ae(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function We(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Fe(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function ze(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?Be:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},Be,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){var s="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,s),a.scrollParents={reference:Ft(t)?Ce(t):t.contextElement?Ce(t.contextElement):[],popper:Ce(e)};var r,c,u=function(t){var e=We(t);return $t.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((r=[].concat(n,a.options.modifiers),c=r.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers=u.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(Fe(e,i)){a.rects={reference:$e(e,oe(i),"fixed"===a.options.strategy),popper:Jt(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!Fe(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var qe=ze(),Re=ze({defaultModifiers:[me,Me,pe,Rt]}),Ve=ze({defaultModifiers:[me,Me,pe,Rt,je,Se,He,he,Pe]});const Ke=Object.freeze(Object.defineProperty({__proto__:null,popperGenerator:ze,detectOverflow:Le,createPopperBase:qe,createPopper:Ve,createPopperLite:Re,top:gt,bottom:mt,right:_t,left:bt,auto:vt,basePlacements:yt,start:wt,end:At,clippingParents:Et,viewport:Tt,popper:Ct,reference:Ot,variationPlacements:xt,placements:kt,beforeRead:Lt,read:Dt,afterRead:St,beforeMain:It,main:Nt,afterMain:Pt,beforeWrite:jt,write:Mt,afterWrite:Ht,modifierPhases:$t,applyStyles:Rt,arrow:he,computeStyles:pe,eventListeners:me,flip:Se,hide:Pe,offset:je,popperOffsets:Me,preventOverflow:He},Symbol.toStringTag,{value:"Module"})),Qe="dropdown",Xe="ArrowUp",Ye="ArrowDown",Ue="click.bs.dropdown.data-api",Ge="keydown.bs.dropdown.data-api",Je="show",Ze='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',ti=`${Ze}.show`,ei=".dropdown-menu",ii=p()?"top-end":"top-start",ni=p()?"top-start":"top-end",si=p()?"bottom-end":"bottom-start",oi=p()?"bottom-start":"bottom-end",ri=p()?"left-start":"right-start",ai=p()?"right-start":"left-start",li={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ci={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class hi extends z{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=Q.next(this._element,ei)[0]||Q.prev(this._element,ei)[0]||Q.findOne(ei,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return Qe}toggle(){return this._isShown()?this.hide():this.show()}show(){if(l(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!P.trigger(this._element,"show.bs.dropdown",t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),P.trigger(this._element,"shown.bs.dropdown",t)}}hide(){if(l(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!P.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),B.removeDataAttribute(this._menu,"popper"),P.trigger(this._element,"hidden.bs.dropdown",t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Qe.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===Ke)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:o(this._config.reference)?t=r(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=Ve(t,this._menu,e)}_isShown(){return this._menu.classList.contains(Je)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=Q.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=Q.find(ti);for(const i of e){const e=hi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Xe,Ye].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ze)?this:Q.prev(this,Ze)[0]||Q.next(this,Ze)[0]||Q.findOne(Ze,t.delegateTarget.parentNode),o=hi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ge,Ze,hi.dataApiKeydownHandler),P.on(document,Ge,ei,hi.dataApiKeydownHandler),P.on(document,Ue,hi.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",hi.clearMenus),P.on(document,Ue,Ze,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ui=".sticky-top",fi="padding-right",pi="margin-right";class gi{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,fi,(e=>e+t)),this._setElementAttributes(di,fi,(e=>e+t)),this._setElementAttributes(ui,pi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,fi),this._resetElementAttributes(di,fi),this._resetElementAttributes(ui,pi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of Q.find(t,this._element))e(i)}}const mi="show",_i="mousedown.bs.backdrop",bi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},vi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class yi extends F{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return bi}static get DefaultType(){return vi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void m(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(mi),this._emulateAnimation((()=>{m(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(mi),this._emulateAnimation((()=>{this.dispose(),m(t)}))):m(t)}dispose(){this._isAppended&&(P.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),P.on(t,_i,(()=>{m(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const wi=".bs.focustrap",Ai="backward",Ei={autofocus:!0,trapElement:null},Ti={autofocus:"boolean",trapElement:"element"};class Ci extends F{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ei}static get DefaultType(){return Ti}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,wi),P.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),P.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,wi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=Q.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Ai?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ai:"forward")}}const Oi="hidden.bs.modal",xi="show.bs.modal",ki="modal-open",Li="show",Di="modal-static",Si={backdrop:!0,focus:!0,keyboard:!0},Ii={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ni extends z{constructor(t,e){super(t,e),this._dialog=Q.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new gi,this._addEventListeners()}static get Default(){return Si}static get DefaultType(){return Ii}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(ki),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Li),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])P.off(t,".bs.modal");this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new yi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ci({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=Q.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(Li),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.modal",(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),P.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),P.on(this._element,"mousedown.dismiss.bs.modal",(t=>{P.one(this._element,"click.dismiss.bs.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(ki),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,Oi)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Di)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Di),this._queueCallback((()=>{this._element.classList.remove(Di),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,xi,(t=>{t.defaultPrevented||P.one(e,Oi,(()=>{a(this)&&this.focus()}))}));const i=Q.findOne(".modal.show");i&&Ni.getInstance(i).hide(),Ni.getOrCreateInstance(e).toggle(this)})),q(Ni),g(Ni);const Pi="show",ji="showing",Mi="hiding",Hi=".offcanvas.show",$i="hidePrevented.bs.offcanvas",Wi="hidden.bs.offcanvas",Bi={backdrop:!0,keyboard:!0,scroll:!1},Fi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class zi extends z{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Bi}static get DefaultType(){return Fi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new gi).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ji),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Pi),this._element.classList.remove(ji),P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Mi),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Pi,Mi),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new gi).reset(),P.trigger(this._element,Wi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new yi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,$i)}:null})}_initializeFocusTrap(){return new Ci({trapElement:this._element})}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,$i))}))}static jQueryInterface(t){return this.each((function(){const e=zi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;P.one(e,Wi,(()=>{a(this)&&this.focus()}));const i=Q.findOne(Hi);i&&i!==e&&zi.getInstance(i).hide(),zi.getOrCreateInstance(e).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of Q.find(Hi))zi.getOrCreateInstance(t).show()})),P.on(window,"resize.bs.offcanvas",(()=>{for(const t of Q.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&zi.getOrCreateInstance(t).hide()})),q(zi),g(zi);const qi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Ri=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Vi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ki=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!qi.has(i)||Boolean(Ri.test(t.nodeValue)||Vi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Qi={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Xi={allowList:Qi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Yi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ui={entry:"(string|element|function|null)",selector:"(string|element)"};class Gi extends F{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Ui)}_setContent(t,e,i){const n=Q.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Ki(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return"function"==typeof t?t(this):t}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ji=new Set(["sanitize","allowList","sanitizeFn"]),Zi="fade",tn="show",en=".modal",nn="hide.bs.modal",sn="hover",on="focus",rn={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},an={allowList:Qi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},ln={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cn extends z{constructor(t,e){if(void 0===Ke)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return an}static get DefaultType(){return ln}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(en),nn,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._queueCallback((()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Zi,tn),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Zi),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Gi({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Zi)}_isShown(){return this.tip&&this.tip.classList.contains(tn)}_createPopper(t){const e="function"==typeof this._config.placement?this._config.placement.call(this,t,this._element):this._config.placement,i=rn[e.toUpperCase()];return Ve(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===sn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===sn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?on:sn]=!0,e._enter()})),P.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?on:sn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(en),nn,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ji.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(cn);const hn={...cn.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},dn={...cn.DefaultType,content:"(null|string|element|function)"};class un extends cn{static get Default(){return hn}static get DefaultType(){return dn}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn="click.bs.scrollspy",pn="active",gn="[href]",mn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},_n={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class bn extends z{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return mn}static get DefaultType(){return _n}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,fn),P.on(this._config.target,fn,gn,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=Q.find(gn,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=Q.findOne(e.hash,this._element);a(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(pn),this._activateParents(t),P.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))Q.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(pn);else for(const e of Q.parents(t,".nav, .list-group"))for(const t of Q.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(pn)}_clearActiveClass(t){t.classList.remove(pn);const e=Q.find("[href].active",t);for(const t of e)t.classList.remove(pn)}static jQueryInterface(t){return this.each((function(){const e=bn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of Q.find('[data-bs-spy="scroll"]'))bn.getOrCreateInstance(t)})),g(bn);const vn="ArrowLeft",yn="ArrowRight",wn="ArrowUp",An="ArrowDown",En="active",Tn="fade",Cn="show",On='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',xn=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${On}`;class kn extends z{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,"keydown.bs.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?P.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;P.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(En),this._activate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add(Cn)}),t,t.classList.contains(Tn)))}_deactivate(t,e){t&&(t.classList.remove(En),t.blur(),this._deactivate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove(Cn)}),t,t.classList.contains(Tn)))}_keydown(t){if(![vn,yn,wn,An].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[yn,An].includes(t.key),i=b(this._getChildren().filter((t=>!l(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),kn.getOrCreateInstance(i).show())}_getChildren(){return Q.find(xn,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=n(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=Q.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",En),n(".dropdown-menu",Cn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(En)}_getInnerElement(t){return t.matches(xn)?t:Q.findOne(xn,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=kn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab",On,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||kn.getOrCreateInstance(this).show()})),P.on(window,"load.bs.tab",(()=>{for(const t of Q.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))kn.getOrCreateInstance(t)})),g(kn);const Ln="hide",Dn="show",Sn="showing",In={animation:"boolean",autohide:"boolean",delay:"number"},Nn={animation:!0,autohide:!0,delay:5e3};class Pn extends z{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Nn}static get DefaultType(){return In}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Ln),d(this._element),this._element.classList.add(Dn,Sn),this._queueCallback((()=>{this._element.classList.remove(Sn),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(Sn),this._queueCallback((()=>{this._element.classList.add(Ln),this._element.classList.remove(Sn,Dn),P.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Dn),super.dispose()}isShown(){return this._element.classList.contains(Dn)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),P.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Pn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return q(Pn),g(Pn),{Alert:R,Button:K,Carousel:at,Collapse:pt,Dropdown:hi,Modal:Ni,Offcanvas:zi,Popover:un,ScrollSpy:bn,Tab:kn,Toast:Pn,Tooltip:cn}}));
+//# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file
diff --git a/nginx/landingpage/js/scripts.js b/nginx/landingpage/js/scripts.js
new file mode 100644
index 000000000..0a1726ad0
--- /dev/null
+++ b/nginx/landingpage/js/scripts.js
@@ -0,0 +1,7 @@
+/*!
+* Start Bootstrap - Landing Page v6.0.6 (https://startbootstrap.com/theme/landing-page)
+* Copyright 2013-2023 Start Bootstrap
+* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-landing-page/blob/master/LICENSE)
+*/
+// This file is intentionally blank
+// Use this file to add JavaScript to your project
\ No newline at end of file

From 3bd81a6af609600aea6837f2210bdab66d7633e5 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 11:21:31 -0700
Subject: [PATCH 22/88] landingpage work in progress (idaholab/Malcolm#252)

---
 docs/kubernetes.md             | 10 +---------
 docs/ubuntu-install-example.md | 10 +---------
 scripts/control.py             | 12 +-----------
 3 files changed, 3 insertions(+), 29 deletions(-)

diff --git a/docs/kubernetes.md b/docs/kubernetes.md
index 13ea6b2a4..66a67f07e 100644
--- a/docs/kubernetes.md
+++ b/docs/kubernetes.md
@@ -535,16 +535,8 @@ logstash | [2023-04-24T21:00:34,470][INFO ][logstash.agent           ] Pipelines
 
 Started Malcolm
 
-Malcolm services can be accessed via the following URLs:
+Malcolm services can be accessed at https://192.168.56.10/
 ------------------------------------------------------------------------------
-  - Arkime: https://192.168.56.10/arkime/
-  - OpenSearch Dashboards: https://192.168.56.10/dashboards/
-  - PCAP upload (web): https://192.168.56.10/upload/
-  - NetBox: https://192.168.56.10/netbox/
-  - CyberChef: https://192.168.56.10/arkime/cyberchef/
-  - Account management: https://192.168.56.10/auth/
-  - Documentation: https://192.168.56.10/readme/
-
 ```
 
 Check the status of the Malcolm deployment with `./scripts/status`:
diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md
index 736ef9107..5d5706157 100644
--- a/docs/ubuntu-install-example.md
+++ b/docs/ubuntu-install-example.md
@@ -278,16 +278,8 @@ ghcr.io/idaholab/malcolm/zeek                                  24.01.0
 Finally, start Malcolm. When Malcolm starts it will stream informational and debug messages to the console until it has completed initializing.
 ```
 user@host:~/Malcolm$ ./scripts/start
-In a few minutes, Malcolm services will be accessible via the following URLs:
+Malcolm services can be accessed at https://localhost/
 ------------------------------------------------------------------------------
-  - Arkime: https://localhost/arkime/
-  - OpenSearch Dashboards: https://localhost/dashboards/
-  - PCAP upload (web): https://localhost/upload/
-  - PCAP upload (sftp): sftp://username@127.0.0.1:8022/files/
-  - NetBox: https://localhost/netbox/  
-  - CyberChef: https://localhost/arkime/cyberchef/
-  - Account management: https://localhost/auth/
-  - Documentation: https://localhost/readme/
 
 NAME                           COMMAND                  SERVICE              STATUS               PORTS
 malcolm-api-1                  "/usr/local/bin/dock…"   api                  running (starting)   …
diff --git a/scripts/control.py b/scripts/control.py
index 3ff2507df..44ca0f5f0 100755
--- a/scripts/control.py
+++ b/scripts/control.py
@@ -455,18 +455,8 @@ def printURLs():
     else:
         myIp = get_primary_ip()
 
-    print("\nMalcolm services can be accessed via the following URLs:")
+    print("\nMalcolm services can be accessed at https://{myIp}/")
     print("------------------------------------------------------------------------------")
-    print(f"  - Landing Page: https://{myIp}/")
-    print(f"  - Arkime: https://{myIp}/arkime/")
-    print(f"  - OpenSearch Dashboards: https://{myIp}/dashboards/")
-    print(f"  - PCAP upload (web): https://{myIp}/upload/")
-    if orchMode is not OrchestrationFramework.KUBERNETES:
-        print(f"  - PCAP upload (sftp): sftp://username@{myIp}:8022/files/")
-    print(f"  - NetBox: https://{myIp}/netbox/")
-    print(f"  - CyberChef: https://{myIp}/arkime/cyberchef/")
-    print(f"  - Account management: https://{myIp}/auth/")
-    print(f"  - Documentation: https://{myIp}/readme/")
 
 
 ###################################################################################################

From 86012f0a9078cdbfed48bb7ae6a4302cbc479d13 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 11:29:46 -0700
Subject: [PATCH 23/88] landingpage work in progress (idaholab/Malcolm#252)

---
 Dockerfiles/nginx.Dockerfile | 8 +++++---
 scripts/control.py           | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index 115168721..d86c8cbf8 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -233,7 +233,9 @@ RUN set -x ; \
   apk del .gettext ; \
   mv /tmp/envsubst /usr/local/bin/ ; \
   rm -rf /usr/src/* /var/tmp/* /var/cache/apk/* /nginx.tar.gz /nginx-auth-ldap.tar.gz /ngx_http_substitutions_filter_module-master.tar.gz; \
-  touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf
+  touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf && \
+  find /usr/share/nginx/html/ -type d -exec chmod 755 "{}" \; && \
+  find /usr/share/nginx/html/ -type f -exec chmod 644 "{}" \;
 
 COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/
 COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/
@@ -245,8 +247,8 @@ COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 ADD nginx/scripts /usr/local/bin/
 ADD nginx/*.conf /etc/nginx/
 ADD nginx/supervisord.conf /etc/
-ADD docs/images/icon/favicon.ico /usr/share/nginx/html/assets/favicon.ico
-ADD docs/images/logo/Malcolm_background.png /usr/share/nginx/html/assets/img/bg-masthead.png
+COPY --chmod=644 docs/images/icon/favicon.ico /usr/share/nginx/html/assets/favicon.ico
+COPY --chmod=644 docs/images/logo/Malcolm_background.png /usr/share/nginx/html/assets/img/bg-masthead.png
 
 VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"]
 
diff --git a/scripts/control.py b/scripts/control.py
index 44ca0f5f0..caf0d0157 100755
--- a/scripts/control.py
+++ b/scripts/control.py
@@ -455,7 +455,7 @@ def printURLs():
     else:
         myIp = get_primary_ip()
 
-    print("\nMalcolm services can be accessed at https://{myIp}/")
+    print(f"\nMalcolm services can be accessed at https://{myIp}/")
     print("------------------------------------------------------------------------------")
 
 

From cfc29f774a74a18b33462390bb9041ebb3017c98 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 11:48:30 -0700
Subject: [PATCH 24/88] landingpage work in progress (idaholab/Malcolm#252)

---
 arkime/patch/footer_links.patch | 2 +-
 nginx/landingpage/index.html    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arkime/patch/footer_links.patch b/arkime/patch/footer_links.patch
index 745b97b7d..c2ab1d837 100644
--- a/arkime/patch/footer_links.patch
+++ b/arkime/patch/footer_links.patch
@@ -8,7 +8,7 @@ index 84b28a45..7a414ca2 100644
          Arkime v{{ version }} |
 -        <a href="https://arkime.com">arkime.com</a>
 +        <a href="https://arkime.com">arkime.com 🦉</a>
-+        | <a href="/readme/">Malc⦿lm 📄</a>
++        | <a href="/">Malc⦿lm 📄</a>
 +        | <a href="/dashboards">Dashboards 📊</a>
 +        | <a href="/netbox/">NetBox 💻</a>
          <span v-if="responseTime && !loadingData">
diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index 105f23e9c..34e5b6520 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -5,7 +5,7 @@
         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
         <meta name="description" content="" />
         <meta name="author" content="" />
-        <title>Landing Page - Start Bootstrap Theme</title>
+        <title>Malcolm</title>
         <!-- Favicon-->
         <link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
         <!-- Bootstrap icons-->

From 9a941dc7ac6a8d1d6ce26eefe48daa006f76ac82 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 12:07:57 -0700
Subject: [PATCH 25/88] file carve download stream AES zip
 (idaholab/Malcolm#288)

---
 Dockerfiles/file-monitor.Dockerfile   |  1 -
 docs/file-scanning.md                 |  4 ++--
 shared/bin/zeek_carved_http_server.py | 19 ++++---------------
 3 files changed, 6 insertions(+), 18 deletions(-)

diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile
index 088db2906..2ba1f0f2b 100644
--- a/Dockerfiles/file-monitor.Dockerfile
+++ b/Dockerfiles/file-monitor.Dockerfile
@@ -141,7 +141,6 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour
       clamd \
       psutil \
       pycryptodome \
-      pyminizip \
       python-magic \
       stream-zip \
       supervisor \
diff --git a/docs/file-scanning.md b/docs/file-scanning.md
index a511f43a3..327845326 100644
--- a/docs/file-scanning.md
+++ b/docs/file-scanning.md
@@ -25,7 +25,7 @@ The `EXTRACTED_FILE_PRESERVATION` [environment variable in `zeek.env`](malcolm-c
 * `all`: preserve flagged files in `./zeek-logs/extract_files/quarantine` and all other extracted files in `./zeek-logs/extract_files/preserved`
 * `none`: preserve no extracted files
 
-The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env` and `zeek-secret.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words:
+The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env` and `zeek-secret.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (without a password or password-protected according to the [WinZip AES encryption specification](https://www.winzip.com/en/support/aes-encryption/)) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words:
 
 * to disable the extracted files server:
     - `EXTRACTED_FILE_HTTP_SERVER_ENABLE=false`
@@ -34,7 +34,7 @@ The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env` and `z
     - downloaded files are zipped, without a password:
         + `EXTRACTED_FILE_HTTP_SERVER_ZIP=true`
         + `EXTRACTED_FILE_HTTP_SERVER_KEY=`
-    - downloaded files are zipped, with a password:
+    - downloaded files are zipped, [AES-encrypted](https://www.winzip.com/en/support/aes-encryption/) with a password:
         + `EXTRACTED_FILE_HTTP_SERVER_ZIP=true`
         + `EXTRACTED_FILE_HTTP_SERVER_KEY=xxxxxxxxxxxxx`
     - downloaded files are OpenSSL AES-256-CBC-compatibly encrypted:
diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/zeek_carved_http_server.py
index d92cf89dd..6f416f108 100755
--- a/shared/bin/zeek_carved_http_server.py
+++ b/shared/bin/zeek_carved_http_server.py
@@ -10,7 +10,6 @@
 import argparse
 import hashlib
 import os
-import pyminizip
 import sys
 from Crypto.Cipher import AES
 from datetime import datetime
@@ -75,24 +74,14 @@ def do_GET(self):
 
         elif os.path.isfile(fullpath) or os.path.islink(fullpath):
             if args.zip:
-                # ZIP file
+                # ZIP file (streamed, AES-encrypted with password or unencrypted)
                 self.send_response(200)
                 self.send_header('Content-type', "application/zip")
                 self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.zip')
                 self.end_headers()
 
-                if args.key:
-                    # password-protected ZIP file (temporarily persisted to disk)
-                    with temporary_filename(suffix='.zip') as tmpFileName:
-                        pyminizip.compress(fullpath, None, tmpFileName, args.key, 1)
-                        with open(tmpFileName, 'rb') as f:
-                            while chunk := f.read(65536):
-                                self.wfile.write(chunk)
-
-                else:
-                    # unprotected ZIP file (streamed)
-                    for chunk in stream_zip(LocalFilesForZip([fullpath])):
-                        self.wfile.write(chunk)
+                for chunk in stream_zip(LocalFilesForZip([fullpath]), password=args.key if args.key else None):
+                    self.wfile.write(chunk)
 
             elif args.key:
                 # openssl-compatible encrypted file
@@ -119,7 +108,7 @@ def do_GET(self):
                             break
 
             else:
-                # unencrypted file
+                # original file, unencrypted
                 SimpleHTTPRequestHandler.do_GET(self)
 
         else:

From 4ca8d99691283ca557a1fb7e1244c8c3ad91c766 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 12:19:54 -0700
Subject: [PATCH 26/88] landingpage work in progress (idaholab/Malcolm#252)

---
 nginx/nginx_readonly.conf | 29 ++++++++---------------------
 1 file changed, 8 insertions(+), 21 deletions(-)

diff --git a/nginx/nginx_readonly.conf b/nginx/nginx_readonly.conf
index 5edd50341..fd12a4a8d 100644
--- a/nginx/nginx_readonly.conf
+++ b/nginx/nginx_readonly.conf
@@ -72,12 +72,6 @@ http {
     # use either auth_basic or auth_ldap
     include /etc/nginx/nginx_auth_rt.conf;
 
-    # Malcolm readme
-    location /readme {
-      root /usr/share/nginx/html;
-      try_files $uri $uri/index.html;
-    }
-
     # Arkime -> Dashboards shortcut
     location ~* ^/idark2dash(.*) {
 
@@ -101,7 +95,7 @@ http {
         set $filter_value $arg_value;
       }
 
-      rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'sessions2-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'sessions2-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect;
+      rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'arkime_sessions3-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'arkime_sessions3-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect;
       proxy_pass http://dashboards;
       proxy_redirect off;
       proxy_set_header Host dashboards.malcolm.local;
@@ -109,7 +103,7 @@ http {
 
     # Dashboards -> Arkime shortcut
     location ~* /iddash2ark/(.*) {
-      rewrite ^.*/iddash2ark/(.*) /sessions?expression=($1) redirect;
+      rewrite ^.*/iddash2ark/(.*) /arkime/sessions?expression=($1) redirect;
       proxy_pass https://arkime;
       proxy_ssl_verify off;
       proxy_redirect off;
@@ -180,7 +174,6 @@ http {
     # passthrough NetBox from the Malcolm API
     location /mapi/netbox/ {
       limit_except GET { deny all; }
-      include /etc/nginx/nginx_auth_rt.conf;
       proxy_pass http://netbox/netbox/api/;
       proxy_redirect off;
       proxy_set_header Host netbox.malcolm.local;
@@ -197,31 +190,25 @@ http {
       proxy_set_header Host api.malcolm.local;
     }
 
-    location ~* ^/(api/)?(files|d?stats|es(indices|nodes|shards|tasks|recovery)|histor(y|ies)|notifiers|hunts?|settings|shortcuts|users|user/(config/(es)?[nN]odes|cron|settings)) {
+    location ~* ^/arkime/(api/)?(files|d?stats|es(indices|nodes|shards|tasks|recovery)|histor(y|ies)|notifiers|hunts?|settings|shortcuts|users|user/(config/(es)?[nN]odes|cron|settings)) {
       deny all;
     }
 
-    location /sessions {
+    # Arkime
+    location /arkime {
       limit_except GET POST { deny  all; }
       proxy_pass https://arkime;
-      proxy_ssl_verify off;
       proxy_redirect off;
       proxy_set_header Host arkime.malcolm.local;
       proxy_set_header http_auth_http_user $authenticated_user;
       proxy_set_header Authorization "";
     }
 
-    # Landing Page
+    # Landing Page and README
     location / {
-      include /etc/nginx/nginx_auth_rt.conf;
-      root /usr/share/nginx/html/;
+      limit_except GET POST { deny  all; }
+      root /usr/share/nginx/html;
       try_files $uri $uri/index.html;
-      proxy_pass https://landing;
-      proxy_ssl_verify off;
-      proxy_redirect off;
-      proxy_set_header Host arkime.malcolm.local;
-      proxy_set_header http_auth_http_user $authenticated_user;
-      proxy_set_header Authorization "";
     }
   }
 

From abd514aa791b46b4a91ceccdacb831416ed769c4 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 13:12:36 -0700
Subject: [PATCH 27/88] work in progress for idaholab/Malcolm#288

---
 Dockerfiles/file-monitor.Dockerfile           |   3 +
 config/zeek.env.example                       |   2 +
 file-monitor/supervisord.conf                 |   3 +-
 ...rver.py => extracted_files_http_server.py} | 100 +++++++++++-------
 4 files changed, 68 insertions(+), 40 deletions(-)
 rename shared/bin/{zeek_carved_http_server.py => extracted_files_http_server.py} (64%)

diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile
index 2ba1f0f2b..aae54c3b3 100644
--- a/Dockerfiles/file-monitor.Dockerfile
+++ b/Dockerfiles/file-monitor.Dockerfile
@@ -51,6 +51,7 @@ ARG EXTRACTED_FILE_HTTP_SERVER_DEBUG=false
 ARG EXTRACTED_FILE_HTTP_SERVER_ENABLE=false
 ARG EXTRACTED_FILE_HTTP_SERVER_ZIP=true
 ARG EXTRACTED_FILE_HTTP_SERVER_KEY=infected
+ARG EXTRACTED_FILE_HTTP_SERVER_RECURSIVE=true
 ARG EXTRACTED_FILE_HTTP_SERVER_PORT=8440
 
 ENV ZEEK_EXTRACTOR_PATH $ZEEK_EXTRACTOR_PATH
@@ -91,6 +92,7 @@ ENV EXTRACTED_FILE_HTTP_SERVER_DEBUG $EXTRACTED_FILE_HTTP_SERVER_DEBUG
 ENV EXTRACTED_FILE_HTTP_SERVER_ENABLE $EXTRACTED_FILE_HTTP_SERVER_ENABLE
 ENV EXTRACTED_FILE_HTTP_SERVER_ZIP $EXTRACTED_FILE_HTTP_SERVER_ZIP
 ENV EXTRACTED_FILE_HTTP_SERVER_KEY $EXTRACTED_FILE_HTTP_SERVER_KEY
+ENV EXTRACTED_FILE_HTTP_SERVER_RECURSIVE $EXTRACTED_FILE_HTTP_SERVER_RECURSIVE
 ENV EXTRACTED_FILE_HTTP_SERVER_PORT $EXTRACTED_FILE_HTTP_SERVER_PORT
 
 ENV SUPERCRONIC_VERSION "0.2.29"
@@ -215,6 +217,7 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour
 COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 COPY --chmod=755 shared/bin/service_check_passthrough.sh /usr/local/bin/
 COPY --chmod=755 shared/bin/zeek_carve*.py /usr/local/bin/
+COPY --chmod=755 shared/bin/extracted_files_http_server.py /usr/local/bin/
 COPY --chmod=644 shared/bin/watch_common.py /usr/local/bin/
 COPY --chmod=644 scripts/malcolm_utils.py /usr/local/bin/
 COPY --chmod=644 file-monitor/supervisord.conf /etc/supervisord.conf
diff --git a/config/zeek.env.example b/config/zeek.env.example
index 142445c9f..ab208f6a2 100644
--- a/config/zeek.env.example
+++ b/config/zeek.env.example
@@ -51,6 +51,8 @@ EXTRACTED_FILE_PIPELINE_VERBOSITY=
 EXTRACTED_FILE_HTTP_SERVER_ENABLE=false
 # Whether or not Zeek-extracted files served over HTTP will be archived in a Zip file
 EXTRACTED_FILE_HTTP_SERVER_ZIP=false
+# HTTP server will look in subdirectories for requested filename (e.g., in "/quarantined" and "/preserved")
+EXTRACTED_FILE_HTTP_SERVER_RECURSIVE=true
 # Environment variables for tweaking Zeek at runtime (see local.zeek)
 #   Set to any non-blank value to disable the corresponding feature
 ZEEK_DISABLE_HASH_ALL_FILES=
diff --git a/file-monitor/supervisord.conf b/file-monitor/supervisord.conf
index 81eb7383f..2a9a1fe39 100644
--- a/file-monitor/supervisord.conf
+++ b/file-monitor/supervisord.conf
@@ -150,9 +150,10 @@ stdout_logfile_maxbytes=0
 redirect_stderr=true
 
 [program:fileserve]
-command=/usr/local/bin/zeek_carved_http_server.py
+command=/usr/local/bin/extracted_files_http_server.py
   --port %(ENV_EXTRACTED_FILE_HTTP_SERVER_PORT)s
   --zip %(ENV_EXTRACTED_FILE_HTTP_SERVER_ZIP)s
+  --recursive %(ENV_EXTRACTED_FILE_HTTP_SERVER_RECURSIVE)s
   --directory /zeek/extract_files
 autostart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s
 autorestart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s
diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/extracted_files_http_server.py
similarity index 64%
rename from shared/bin/zeek_carved_http_server.py
rename to shared/bin/extracted_files_http_server.py
index 6f416f108..edd76170e 100755
--- a/shared/bin/zeek_carved_http_server.py
+++ b/shared/bin/extracted_files_http_server.py
@@ -67,52 +67,62 @@ def do_GET(self):
         global args
 
         fullpath = self.translate_path(self.path)
+        fileBaseName = os.path.basename(fullpath)
 
         if os.path.isdir(fullpath):
             # directory listing
             SimpleHTTPRequestHandler.do_GET(self)
 
-        elif os.path.isfile(fullpath) or os.path.islink(fullpath):
-            if args.zip:
-                # ZIP file (streamed, AES-encrypted with password or unencrypted)
-                self.send_response(200)
-                self.send_header('Content-type', "application/zip")
-                self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.zip')
-                self.end_headers()
-
-                for chunk in stream_zip(LocalFilesForZip([fullpath]), password=args.key if args.key else None):
-                    self.wfile.write(chunk)
-
-            elif args.key:
-                # openssl-compatible encrypted file
-                self.send_response(200)
-                self.send_header('Content-type', 'application/octet-stream')
-                self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.encrypted')
-                self.end_headers()
-                salt = os.urandom(PKCS5_SALT_LEN)
-                key, iv = EVP_BytesToKey(EVP_KEY_SIZE, AES.block_size, hashlib.sha256, salt, args.key.encode('utf-8'))
-                cipher = AES.new(key, AES.MODE_CBC, iv)
-                encrypted = b""
-                encrypted += OPENSSL_ENC_MAGIC
-                encrypted += salt
-                self.wfile.write(encrypted)
-                with open(fullpath, 'rb') as f:
-                    padding = b''
-                    while True:
-                        chunk = f.read(cipher.block_size)
-                        if len(chunk) < cipher.block_size:
-                            remaining = cipher.block_size - len(chunk)
-                            padding = bytes([remaining] * remaining)
-                        self.wfile.write(cipher.encrypt(chunk + padding))
-                        if padding:
-                            break
+        else:
+            if recursive and (not os.path.isfile(fullpath)) and (not os.path.islink(fullpath)):
+                for root, dirs, files in os.walk(os.path.dirname(fullpath)):
+                    if fileBaseName in files:
+                        fullpath = os.path.join(root, fileBaseName)
+                        break
+
+            if os.path.isfile(fullpath) or os.path.islink(fullpath):
+                if args.zip:
+                    # ZIP file (streamed, AES-encrypted with password or unencrypted)
+                    self.send_response(200)
+                    self.send_header('Content-type', "application/zip")
+                    self.send_header('Content-Disposition', f'attachment; filename={fileBaseName}.zip')
+                    self.end_headers()
+
+                    for chunk in stream_zip(LocalFilesForZip([fullpath]), password=args.key if args.key else None):
+                        self.wfile.write(chunk)
+
+                elif args.key:
+                    # openssl-compatible encrypted file
+                    self.send_response(200)
+                    self.send_header('Content-type', 'application/octet-stream')
+                    self.send_header('Content-Disposition', f'attachment; filename={fileBaseName}.encrypted')
+                    self.end_headers()
+                    salt = os.urandom(PKCS5_SALT_LEN)
+                    key, iv = EVP_BytesToKey(
+                        EVP_KEY_SIZE, AES.block_size, hashlib.sha256, salt, args.key.encode('utf-8')
+                    )
+                    cipher = AES.new(key, AES.MODE_CBC, iv)
+                    encrypted = b""
+                    encrypted += OPENSSL_ENC_MAGIC
+                    encrypted += salt
+                    self.wfile.write(encrypted)
+                    with open(fullpath, 'rb') as f:
+                        padding = b''
+                        while True:
+                            chunk = f.read(cipher.block_size)
+                            if len(chunk) < cipher.block_size:
+                                remaining = cipher.block_size - len(chunk)
+                                padding = bytes([remaining] * remaining)
+                            self.wfile.write(cipher.encrypt(chunk + padding))
+                            if padding:
+                                break
+
+                else:
+                    # original file, unencrypted
+                    SimpleHTTPRequestHandler.do_GET(self)
 
             else:
-                # original file, unencrypted
-                SimpleHTTPRequestHandler.do_GET(self)
-
-        else:
-            self.send_error(404, "Not Found")
+                self.send_error(404, "Not Found")
 
 
 ###################################################################################################
@@ -140,6 +150,7 @@ def main():
 
     defaultDebug = os.getenv('EXTRACTED_FILE_HTTP_SERVER_DEBUG', 'false')
     defaultZip = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ZIP', 'false')
+    defaultRecursive = os.getenv('EXTRACTED_FILE_HTTP_SERVER_RECURSIVE', 'false')
     defaultPort = int(os.getenv('EXTRACTED_FILE_HTTP_SERVER_PORT', 8440))
     defaultKey = os.getenv('EXTRACTED_FILE_HTTP_SERVER_KEY', 'infected')
     defaultDir = os.getenv('EXTRACTED_FILE_HTTP_SERVER_PATH', orig_path)
@@ -196,6 +207,17 @@ def main():
         metavar='true|false',
         help=f"Zip file ({defaultZip})",
     )
+    parser.add_argument(
+        '-r',
+        '--recursive',
+        dest='recursive',
+        type=str2bool,
+        nargs='?',
+        const=True,
+        default=defaultRecursive,
+        metavar='true|false',
+        help=f"Recursively look for requested file if not found",
+    )
     try:
         parser.error = parser.exit
         args = parser.parse_args()

From bc361463d9f1e6af6117b886c76b4226c7943d78 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 13:27:22 -0700
Subject: [PATCH 28/88] work in progress for idaholab/Malcolm#288

---
 shared/bin/extracted_files_http_server.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/shared/bin/extracted_files_http_server.py b/shared/bin/extracted_files_http_server.py
index edd76170e..7d3817a2e 100755
--- a/shared/bin/extracted_files_http_server.py
+++ b/shared/bin/extracted_files_http_server.py
@@ -74,7 +74,7 @@ def do_GET(self):
             SimpleHTTPRequestHandler.do_GET(self)
 
         else:
-            if recursive and (not os.path.isfile(fullpath)) and (not os.path.islink(fullpath)):
+            if args.recursive and (not os.path.isfile(fullpath)) and (not os.path.islink(fullpath)):
                 for root, dirs, files in os.walk(os.path.dirname(fullpath)):
                     if fileBaseName in files:
                         fullpath = os.path.join(root, fileBaseName)

From 9f9775e3ad42291a4a03f30b674a0159ba11a012 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 13:31:35 -0700
Subject: [PATCH 29/88] work in progress for idaholab/Malcolm#288

---
 arkime/wise/source.zeeklogs.js      |  5 ++---
 dashboards/scripts/index-refresh.py | 10 +++-------
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/arkime/wise/source.zeeklogs.js b/arkime/wise/source.zeeklogs.js
index 40a9c4035..cefc5e6f9 100644
--- a/arkime/wise/source.zeeklogs.js
+++ b/arkime/wise/source.zeeklogs.js
@@ -2210,10 +2210,9 @@ class MalcolmSource extends WISESource {
     var mimeFieldsStr = allFields.filter(value => /mime[_\.-]?type/i.test(value)).join(',');
     this.api.addValueAction("malcolm_websearch_mime", { name: "Media Type Registry", url: 'https://www.iana.org/assignments/media-types/%TEXT%', fields: mimeFieldsStr });
 
-    // add right-click for extracted/quarantined files from zeek
+    // add right-click for extracted files from zeek
     var carvedFieldsStr = allFields.filter(value => /^zeek\.files\.extracted$/i.test(value)).join(',');
-    this.api.addValueAction("malcolm_carved_file_quarantined", { name: "Download (if quarantined)", url: "/dl-extracted-files/quarantine/%TEXT%", fields: carvedFieldsStr });
-    this.api.addValueAction("malcolm_carved_file_preserved", { name: "Download (if preserved)", url: "/dl-extracted-files/preserved/%TEXT%", fields: carvedFieldsStr });
+    this.api.addValueAction("malcolm_carved_file_quarantined", { name: "Download", url: "/dl-extracted-files/%TEXT%", fields: carvedFieldsStr });
 
     // add right-clicks for pivoting into dashboards from Arkime (see nginx.conf)
     var filterLabel = "OpenSearch Dashboards %DBFIELD%";
diff --git a/dashboards/scripts/index-refresh.py b/dashboards/scripts/index-refresh.py
index ba65ac664..ce283fc58 100755
--- a/dashboards/scripts/index-refresh.py
+++ b/dashboards/scripts/index-refresh.py
@@ -410,14 +410,10 @@ def main():
                     drilldownInfoParamsUrlTemplates.append(drilldownInfoParamsUrlTemplateValues)
 
                 elif re.search(r'(^zeek\.files\.extracted$)', field['name'], re.IGNORECASE) is not None:
-                    # add download for extracted/quarantined zeek files
+                    # add download for extracted zeek files
                     drilldownInfoParamsUrlTemplateValues = {}
-                    drilldownInfoParamsUrlTemplateValues['url'] = '/dl-extracted-files/quarantine/{{value}}'
-                    drilldownInfoParamsUrlTemplateValues['label'] = 'Download (if quarantined)'
-                    drilldownInfoParamsUrlTemplates.append(drilldownInfoParamsUrlTemplateValues)
-                    drilldownInfoParamsUrlTemplateValues = {}
-                    drilldownInfoParamsUrlTemplateValues['url'] = '/dl-extracted-files/preserved/{{value}}'
-                    drilldownInfoParamsUrlTemplateValues['label'] = 'Download (if preserved)'
+                    drilldownInfoParamsUrlTemplateValues['url'] = '/dl-extracted-files/{{value}}'
+                    drilldownInfoParamsUrlTemplateValues['label'] = 'Download'
                     drilldownInfoParamsUrlTemplates.append(drilldownInfoParamsUrlTemplateValues)
 
                 drilldownInfoParams = {}

From 426dcbfda78cd7ed73dc52773e248391277a783d Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 14:04:54 -0700
Subject: [PATCH 30/88] pin netbox-initializers at v3.6.0 until we update
 netbox to v3.7.0

---
 Dockerfiles/netbox.Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile
index aa8724f36..2a646c44d 100644
--- a/Dockerfiles/netbox.Dockerfile
+++ b/Dockerfiles/netbox.Dockerfile
@@ -71,7 +71,7 @@ RUN apt-get -q update && \
       supervisor \
       tini && \
     "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir \
-      'git+https://github.com/tobiasge/netbox-initializers' \
+      'git+https://github.com/tobiasge/netbox-initializers@v3.6.0' \
       psycopg2 \
       pynetbox \
       python-magic \

From 9486b3a72f49781ea211e1b5b73e7e3f1724aa4f Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 14:13:35 -0700
Subject: [PATCH 31/88] pin netbox-initializers at v3.6.0 until we update
 netbox to v3.7.0

---
 Dockerfiles/netbox.Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile
index 2a646c44d..c1d616777 100644
--- a/Dockerfiles/netbox.Dockerfile
+++ b/Dockerfiles/netbox.Dockerfile
@@ -71,7 +71,7 @@ RUN apt-get -q update && \
       supervisor \
       tini && \
     "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir \
-      'git+https://github.com/tobiasge/netbox-initializers@v3.6.0' \
+      'git+https://github.com/tobiasge/netbox-initializers@04fbb73' \
       psycopg2 \
       pynetbox \
       python-magic \

From 025b4069cb4b500b430e27f851849524da236040 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 15:08:28 -0700
Subject: [PATCH 32/88] directly use the
 netbox-community/Device-Type-Library-Import script to load netbox device type
 library

---
 Dockerfiles/netbox.Dockerfile           |  23 +-
 netbox/scripts/netbox_init.py           |  22 +-
 netbox/scripts/netbox_library_import.py | 662 ------------------------
 netbox/supervisord.conf                 |   2 +-
 scripts/build.sh                        |   2 +-
 5 files changed, 33 insertions(+), 678 deletions(-)
 delete mode 100644 netbox/scripts/netbox_library_import.py

diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile
index c1d616777..79bdc1bc9 100644
--- a/Dockerfiles/netbox.Dockerfile
+++ b/Dockerfiles/netbox.Dockerfile
@@ -1,4 +1,4 @@
-FROM netboxcommunity/netbox:v3.6.7
+FROM netboxcommunity/netbox:v3.7.0
 
 # Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
 LABEL maintainer="malcolm@inl.gov"
@@ -33,9 +33,11 @@ ENV SUPERCRONIC_CRONTAB "/etc/crontab"
 ENV YQ_VERSION "4.33.3"
 ENV YQ_URL "https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64"
 
+ENV NETBOX_DEVICETYPE_LIBRARY_IMPORT_URL "https://codeload.github.com/netbox-community/Device-Type-Library-Import/tar.gz/develop"
 ENV NETBOX_DEVICETYPE_LIBRARY_URL "https://codeload.github.com/netbox-community/devicetype-library/tar.gz/master"
 
-ARG NETBOX_DEVICETYPE_LIBRARY_PATH="/opt/netbox-devicetype-library"
+ARG NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH="/opt/netbox-devicetype-library-import"
+
 ARG NETBOX_DEFAULT_SITE=Malcolm
 ARG NETBOX_CRON=true
 ARG NETBOX_PRELOAD_PATH="/opt/netbox-preload"
@@ -43,7 +45,7 @@ ARG NETBOX_PRELOAD_PREFIXES=false
 
 ENV NETBOX_PATH /opt/netbox
 ENV BASE_PATH netbox
-ENV NETBOX_DEVICETYPE_LIBRARY_PATH $NETBOX_DEVICETYPE_LIBRARY_PATH
+ENV NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH $NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH
 ENV NETBOX_DEFAULT_SITE $NETBOX_DEFAULT_SITE
 ENV NETBOX_CRON $NETBOX_CRON
 ENV NETBOX_PRELOAD_PATH $NETBOX_PRELOAD_PATH
@@ -71,7 +73,7 @@ RUN apt-get -q update && \
       supervisor \
       tini && \
     "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir \
-      'git+https://github.com/tobiasge/netbox-initializers@04fbb73' \
+      'git+https://github.com/tobiasge/netbox-initializers@v3.7.0' \
       psycopg2 \
       pynetbox \
       python-magic \
@@ -87,15 +89,20 @@ RUN apt-get -q update && \
       touch "${SUPERCRONIC_CRONTAB}" && \
     curl -fsSL -o /usr/bin/yq "${YQ_URL}" && \
         chmod 755 /usr/bin/yq && \
-    apt-get -q -y --purge remove patch gcc git libpq-dev python3-dev && \
+    apt-get -q -y --purge remove patch gcc libpq-dev python3-dev && \
       apt-get -q -y --purge autoremove && \
       apt-get clean && \
       rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
     usermod -a -G tty ${PUSER} && \
-    mkdir -p /opt/unit "${NETBOX_DEVICETYPE_LIBRARY_PATH}" && \
+    mkdir -p /opt/unit "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH}" && \
     chown -R $PUSER:root /etc/netbox /opt/unit "${NETBOX_PATH}" && \
-    cd "$(dirname "${NETBOX_DEVICETYPE_LIBRARY_PATH}")" && \
-        curl -sSL "${NETBOX_DEVICETYPE_LIBRARY_URL}" | tar xzf - -C ./"$(basename "${NETBOX_DEVICETYPE_LIBRARY_PATH}")" --strip-components 1 && \
+    cd "$(dirname "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH}")" && \
+        curl -sSL "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_URL}" | tar xzf - -C ./"$(basename "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH}")" --strip-components 1 && \
+    cd "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH}" && \
+      "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir -r ./requirements.txt && \
+      sed -i "s/self.pull_repo()/pass/g" ./repo.py && \
+      mkdir -p ./repo && \
+      curl -sSL "${NETBOX_DEVICETYPE_LIBRARY_URL}" | tar xzf - -C ./repo --strip-components 1 && \
     mkdir -p "${NETBOX_PATH}/netbox/${BASE_PATH}" && \
       mv "${NETBOX_PATH}/netbox/static" "${NETBOX_PATH}/netbox/${BASE_PATH}/static" && \
       jq '. += { "settings": { "http": { "discard_unsafe_fields": false } } }' /etc/unit/nginx-unit.json | jq 'del(.listeners."[::]:8080")' | jq 'del(.listeners."[::]:8081")' | jq ".routes.main[0].match.uri = \"/${BASE_PATH}/static/*\"" > /etc/unit/nginx-unit-new.json && \
diff --git a/netbox/scripts/netbox_init.py b/netbox/scripts/netbox_init.py
index 874776681..c32916a88 100755
--- a/netbox/scripts/netbox_init.py
+++ b/netbox/scripts/netbox_init.py
@@ -27,7 +27,6 @@
 from distutils.dir_util import copy_tree
 from datetime import datetime
 from slugify import slugify
-from netbox_library_import import import_library
 
 ###################################################################################################
 args = None
@@ -233,9 +232,9 @@ def main():
         '--library',
         dest='libraryDir',
         type=str,
-        default=os.getenv('NETBOX_DEVICETYPE_LIBRARY_PATH', '/opt/netbox-devicetype-library'),
+        default=os.getenv('NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH', '/opt/netbox-devicetype-library-import'),
         required=False,
-        help="Directory containing NetBox device type library",
+        help="Directory containing NetBox Device-Type-Library-Import project and library repo",
     )
     parser.add_argument(
         '-p',
@@ -882,11 +881,22 @@ def main():
             except Exception as e:
                 logging.error(f"{type(e).__name__} processing netbox-initializers: {e}")
 
-        # ###### Library ###############################################################################################
+        # ######  Device-Type-Library-Import ###########################################################################
         if os.path.isdir(args.libraryDir):
             try:
-                counter = import_library(nb, args.libraryDir)
-                logging.debug(f"import library results: { counter }")
+                with malcolm_utils.pushd(args.libraryDir):
+                    osEnv = os.environ.copy()
+                    osEnv['NETBOX_URL'] = args.netboxUrl
+                    osEnv['NETBOX_TOKEN'] = args.netboxToken
+                    osEnv['REPO_URL'] = f"file://{os.path.join(args.libraryDir), 'repo'}"
+                    cmd = [netboxVenvPy, 'nb-dt-import.py']
+                    err, results = malcolm_utils.run_process(
+                        cmd,
+                        logger=logging,
+                        env=osEnv,
+                    )
+                    if (err != 0) or (not results):
+                        logging.error(f"{err} running nb-dt-import.py: {results}")
 
             except Exception as e:
                 logging.error(f"{type(e).__name__} processing library: {e}")
diff --git a/netbox/scripts/netbox_library_import.py b/netbox/scripts/netbox_library_import.py
deleted file mode 100644
index fa514c738..000000000
--- a/netbox/scripts/netbox_library_import.py
+++ /dev/null
@@ -1,662 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
-
-# adapted from minitriga/Netbox-Device-Type-Library-Import (MIT License)
-# Copyright (c) 2021 Alexander Gittings
-# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-from collections import Counter
-import logging
-import yaml
-import pynetbox
-import glob
-import os
-import re
-
-
-def slugFormat(name):
-    return re.sub(r'\W+', '-', name.lower())
-
-
-YAML_EXTENSIONS = ['yml', 'yaml']
-
-
-def getFiles(library_dir, vendors=None):
-    files = []
-    discoveredVendors = []
-    base_path = os.path.join(library_dir, 'device-types', '')
-    if vendors:
-        for r, d, f in os.walk(base_path):
-            for folder in d:
-                for vendor in vendors:
-                    if vendor.lower() == folder.lower():
-                        discoveredVendors.append({'name': folder, 'slug': slugFormat(folder)})
-                        for extension in YAML_EXTENSIONS:
-                            files.extend(glob.glob(base_path + folder + f'/*.{extension}'))
-    else:
-        for r, d, f in os.walk(base_path):
-            for folder in d:
-                if folder.lower() != "Testing":
-                    discoveredVendors.append({'name': folder, 'slug': slugFormat(folder)})
-        for extension in YAML_EXTENSIONS:
-            files.extend(glob.glob(base_path + f'[!Testing]*/*.{extension}'))
-    return files, discoveredVendors
-
-
-def get_files_modules(library_dir, vendors=None):
-    '''Get files list for modules.
-
-    Args:
-        vendors: List of vendors to sync or None to sync all vendors.
-
-    Returns:
-        A 2-tuple of:
-        - list of filenames found
-        - list of vendors found
-
-    '''
-
-    files = []
-    discoveredVendors = []
-    base_path = os.path.join(library_dir, 'module-types', '')
-    if vendors:
-        for r, d, f in os.walk(base_path):
-            for folder in d:
-                for vendor in vendors:
-                    if vendor.lower() == folder.lower():
-                        discoveredVendors.append({'name': folder, 'slug': slugFormat(folder)})
-                        for extension in YAML_EXTENSIONS:
-                            files.extend(glob.glob(base_path + folder + f'/*.{extension}'))
-    else:
-        for r, d, f in os.walk(base_path):
-            for folder in d:
-                if folder.lower() != "Testing":
-                    discoveredVendors.append({'name': folder, 'slug': slugFormat(folder)})
-        for extension in YAML_EXTENSIONS:
-            files.extend(glob.glob(base_path + f'[!Testing]*/*.{extension}'))
-
-    return files, discoveredVendors
-
-
-def readYAMl(files, **kwargs):
-    slugs = kwargs.get('slugs', None)
-    deviceTypes = []
-    manufacturers = []
-    for file in files:
-        with open(file, 'r') as stream:
-            try:
-                data = yaml.safe_load(stream)
-            except yaml.YAMLError:
-                continue
-            manufacturer = data['manufacturer']
-            data['manufacturer'] = {}
-            data['manufacturer']['name'] = manufacturer
-            data['manufacturer']['slug'] = slugFormat(manufacturer)
-
-        if slugs and data['slug'] not in slugs:
-            continue
-
-        deviceTypes.append(data)
-        manufacturers.append(manufacturer)
-    return deviceTypes
-
-
-def read_yaml_modules(files, **kwargs):
-    slugs = kwargs.get('slugs', None)
-    module_types = []
-    manufacturers = []
-    for file in files:
-        with open(file, 'r') as stream:
-            try:
-                data = yaml.safe_load(stream)
-            except yaml.YAMLError:
-                continue
-            manufacturer = data['manufacturer']
-            data['manufacturer'] = {}
-            data['manufacturer']['name'] = manufacturer
-            data['manufacturer']['slug'] = slugFormat(manufacturer)
-
-        if slugs and data['slug'] not in slugs:
-            continue
-
-        module_types.append(data)
-        manufacturers.append(manufacturer)
-    return module_types
-
-
-def createManufacturers(vendors, nb, counter=None):
-    all_manufacturers = {str(item): item for item in nb.dcim.manufacturers.all()}
-    need_manufacturers = []
-    for vendor in vendors:
-        try:
-            manGet = all_manufacturers[vendor["name"]]
-        except KeyError:
-            need_manufacturers.append(vendor)
-
-    if not need_manufacturers:
-        return
-
-    try:
-        manSuccess = nb.dcim.manufacturers.create(need_manufacturers)
-        if counter is not None:
-            for man in manSuccess:
-                counter.update({'manufacturer': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def createInterfaces(interfaces, deviceType, nb, counter=None):
-    all_interfaces = {str(item): item for item in nb.dcim.interface_templates.filter(devicetype_id=deviceType)}
-    need_interfaces = []
-    for interface in interfaces:
-        try:
-            ifGet = all_interfaces[interface["name"]]
-        except KeyError:
-            interface['device_type'] = deviceType
-            need_interfaces.append(interface)
-
-    if not need_interfaces:
-        return
-
-    try:
-        ifSuccess = nb.dcim.interface_templates.create(need_interfaces)
-        if counter is not None:
-            for intf in ifSuccess:
-                counter.update({'updated': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def create_module_interfaces(interfaces, module_type, nb, counter=None):
-    all_interfaces = {str(item): item for item in nb.dcim.interface_templates.filter(moduletype_id=module_type)}
-    need_interfaces = []
-    for interface in interfaces:
-        try:
-            if_res = all_interfaces[interface["name"]]
-        except KeyError:
-            interface['module_type'] = module_type
-            need_interfaces.append(interface)
-
-    if not need_interfaces:
-        return
-
-    try:
-        ifSuccess = nb.dcim.interface_templates.create(need_interfaces)
-        if counter is not None:
-            for intf in ifSuccess:
-                counter.update({'module_port_added': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def createConsolePorts(consoleports, deviceType, nb, counter=None):
-    all_consoleports = {str(item): item for item in nb.dcim.console_port_templates.filter(devicetype_id=deviceType)}
-    need_consoleports = []
-    for consoleport in consoleports:
-        try:
-            cpGet = all_consoleports[consoleport["name"]]
-        except KeyError:
-            consoleport['device_type'] = deviceType
-            need_consoleports.append(consoleport)
-
-    if not need_consoleports:
-        return
-
-    try:
-        cpSuccess = nb.dcim.console_port_templates.create(need_consoleports)
-        if counter is not None:
-            for port in cpSuccess:
-                counter.update({'updated': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def create_module_console_ports(consoleports, module_type, nb, counter=None):
-    all_consoleports = {str(item): item for item in nb.dcim.console_port_templates.filter(moduletype_id=module_type)}
-    need_consoleports = []
-    for consoleport in consoleports:
-        try:
-            cpGet = all_consoleports[consoleport["name"]]
-        except KeyError:
-            consoleport['module_type'] = module_type
-            need_consoleports.append(consoleport)
-
-    if not need_consoleports:
-        return
-
-    try:
-        cpSuccess = nb.dcim.console_port_templates.create(need_consoleports)
-        if counter is not None:
-            for port in cpSuccess:
-                counter.update({'module_port_added': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def createPowerPorts(powerports, deviceType, nb, counter=None):
-    all_power_ports = {str(item): item for item in nb.dcim.power_port_templates.filter(devicetype_id=deviceType)}
-    need_power_ports = []
-    for powerport in powerports:
-        try:
-            ppGet = all_power_ports[powerport["name"]]
-        except KeyError:
-            powerport['device_type'] = deviceType
-            need_power_ports.append(powerport)
-
-    if not need_power_ports:
-        return
-
-    try:
-        ppSuccess = nb.dcim.power_port_templates.create(need_power_ports)
-        if counter is not None:
-            for pp in ppSuccess:
-                counter.update({'updated': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def create_module_power_ports(powerports, module_type, nb, counter=None):
-    all_power_ports = {str(item): item for item in nb.dcim.power_port_templates.filter(moduletype_id=module_type)}
-    need_power_ports = []
-    for powerport in powerports:
-        try:
-            ppGet = all_power_ports[powerport["name"]]
-        except KeyError:
-            powerport['module_type'] = module_type
-            need_power_ports.append(powerport)
-
-    if not need_power_ports:
-        return
-
-    try:
-        ppSuccess = nb.dcim.power_port_templates.create(need_power_ports)
-        if counter is not None:
-            for pp in ppSuccess:
-                counter.update({'module_port_added': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def createConsoleServerPorts(consoleserverports, deviceType, nb, counter=None):
-    all_consoleserverports = {
-        str(item): item for item in nb.dcim.console_server_port_templates.filter(devicetype_id=deviceType)
-    }
-    need_consoleserverports = []
-    for csport in consoleserverports:
-        try:
-            cspGet = all_consoleserverports[csport["name"]]
-        except KeyError:
-            csport['device_type'] = deviceType
-            need_consoleserverports.append(csport)
-
-    if not need_consoleserverports:
-        return
-
-    try:
-        cspSuccess = nb.dcim.console_server_port_templates.create(need_consoleserverports)
-        if counter is not None:
-            for csp in cspSuccess:
-                counter.update({'updated': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def create_module_console_server_ports(consoleserverports, module_type, nb, counter=None):
-    all_consoleserverports = {
-        str(item): item for item in nb.dcim.console_server_port_templates.filter(moduletype_id=module_type)
-    }
-    need_consoleserverports = []
-    for csport in consoleserverports:
-        try:
-            cspGet = all_consoleserverports[csport["name"]]
-        except KeyError:
-            csport['module_type'] = module_type
-            need_consoleserverports.append(csport)
-
-    if not need_consoleserverports:
-        return
-
-    try:
-        cspSuccess = nb.dcim.console_server_port_templates.create(need_consoleserverports)
-        if counter is not None:
-            for csp in cspSuccess:
-                counter.update({'module_port_added': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def createFrontPorts(frontports, deviceType, nb, counter=None):
-    all_frontports = {str(item): item for item in nb.dcim.front_port_templates.filter(devicetype_id=deviceType)}
-    need_frontports = []
-    for frontport in frontports:
-        try:
-            fpGet = all_frontports[frontport["name"]]
-        except KeyError:
-            frontport['device_type'] = deviceType
-            need_frontports.append(frontport)
-
-    if not need_frontports:
-        return
-
-    all_rearports = {str(item): item for item in nb.dcim.rear_port_templates.filter(devicetype_id=deviceType)}
-    for port in need_frontports:
-        try:
-            rpGet = all_rearports[port["rear_port"]]
-            port['rear_port'] = rpGet.id
-        except KeyError:
-            pass
-
-    try:
-        fpSuccess = nb.dcim.front_port_templates.create(need_frontports)
-        if counter is not None:
-            for fp in fpSuccess:
-                counter.update({'updated': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def create_module_front_ports(frontports, module_type, nb, counter=None):
-    all_frontports = {str(item): item for item in nb.dcim.front_port_templates.filter(moduletype_id=module_type)}
-    need_frontports = []
-    for frontport in frontports:
-        try:
-            fpGet = all_frontports[frontport["name"]]
-        except KeyError:
-            frontport['module_type'] = module_type
-            need_frontports.append(frontport)
-
-    if not need_frontports:
-        return
-
-    all_rearports = {str(item): item for item in nb.dcim.rear_port_templates.filter(moduletype_id=module_type)}
-    for port in need_frontports:
-        try:
-            rpGet = all_rearports[port["rear_port"]]
-            port['rear_port'] = rpGet.id
-        except KeyError:
-            pass
-
-    try:
-        fpSuccess = nb.dcim.front_port_templates.create(need_frontports)
-        if counter is not None:
-            for fp in fpSuccess:
-                counter.update({'module_port_added': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def createRearPorts(rearports, deviceType, nb, counter=None):
-    all_rearports = {str(item): item for item in nb.dcim.rear_port_templates.filter(devicetype_id=deviceType)}
-    need_rearports = []
-    for rearport in rearports:
-        try:
-            rpGet = all_rearports[rearport["name"]]
-        except KeyError:
-            rearport['device_type'] = deviceType
-            need_rearports.append(rearport)
-
-    if not need_rearports:
-        return
-
-    try:
-        rpSuccess = nb.dcim.rear_port_templates.create(need_rearports)
-        if counter is not None:
-            for rp in rpSuccess:
-                counter.update({'updated': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def create_module_rear_ports(rearports, module_type, nb, counter=None):
-    all_rearports = {str(item): item for item in nb.dcim.rear_port_templates.filter(moduletype_id=module_type)}
-    need_rearports = []
-    for rearport in rearports:
-        try:
-            rpGet = all_rearports[rearport["name"]]
-        except KeyError:
-            rearport['module_type'] = module_type
-            need_rearports.append(rearport)
-
-    if not need_rearports:
-        return
-
-    try:
-        rpSuccess = nb.dcim.rear_port_templates.create(need_rearports)
-        if counter is not None:
-            for rp in rpSuccess:
-                counter.update({'module_port_added': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def createDeviceBays(devicebays, deviceType, nb, counter=None):
-    all_devicebays = {str(item): item for item in nb.dcim.device_bay_templates.filter(devicetype_id=deviceType)}
-    need_devicebays = []
-    for devicebay in devicebays:
-        try:
-            dbGet = all_devicebays[devicebay["name"]]
-        except KeyError:
-            devicebay['device_type'] = deviceType
-            need_devicebays.append(devicebay)
-
-    if not need_devicebays:
-        return
-
-    try:
-        dbSuccess = nb.dcim.device_bay_templates.create(need_devicebays)
-        if counter is not None:
-            for db in dbSuccess:
-                counter.update({'updated': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def create_module_bays(module_bays, device_type, nb, counter=None):
-    '''Create module bays.
-
-    Args:
-        module_bays: parsed YAML module_bays section.
-        device_type: the device type instance from netbox.
-        nb: Netbox API instance
-    '''
-    all_module_bays = {str(item): item for item in nb.dcim.module_bay_templates.filter(devicetype_id=device_type)}
-    need_module_bays = []
-    for module_bay in module_bays:
-        try:
-            dbGet = all_module_bays[module_bay["name"]]
-        except KeyError:
-            module_bay['device_type'] = device_type
-            need_module_bays.append(module_bay)
-
-    if not need_module_bays:
-        return
-
-    try:
-        module_bay_res = nb.dcim.module_bay_templates.create(need_module_bays)
-        if counter is not None:
-            for module_bay in module_bay_res:
-                counter.update({'updated': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def createPowerOutlets(poweroutlets, deviceType, nb, counter=None):
-    all_poweroutlets = {str(item): item for item in nb.dcim.power_outlet_templates.filter(devicetype_id=deviceType)}
-    need_poweroutlets = []
-    for poweroutlet in poweroutlets:
-        try:
-            poGet = all_poweroutlets[poweroutlet["name"]]
-        except KeyError:
-            poweroutlet["device_type"] = deviceType
-            need_poweroutlets.append(poweroutlet)
-
-    if not need_poweroutlets:
-        return
-
-    all_power_ports = {str(item): item for item in nb.dcim.power_port_templates.filter(devicetype_id=deviceType)}
-    for outlet in need_poweroutlets:
-        try:
-            ppGet = all_power_ports[outlet["power_port"]]
-            outlet['power_port'] = ppGet.id
-        except KeyError:
-            pass
-
-    try:
-        poSuccess = nb.dcim.power_outlet_templates.create(need_poweroutlets)
-        if counter is not None:
-            for po in poSuccess:
-                counter.update({'updated': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def create_module_power_outlets(poweroutlets, module_type, nb, counter=None):
-    '''Create missing module power outlets.
-
-    Args:
-        poweroutlets: YAML power outlet data.
-        module_type: Netbox module_type instance.
-        nb: pynetbox API instance.
-
-    Returns:
-        None
-
-    Raises:
-        None
-    '''
-    all_poweroutlets = {str(item): item for item in nb.dcim.power_outlet_templates.filter(moduletype_id=module_type)}
-    need_poweroutlets = []
-    for poweroutlet in poweroutlets:
-        try:
-            poGet = all_poweroutlets[poweroutlet["name"]]
-        except KeyError:
-            poweroutlet["module_type"] = module_type
-            need_poweroutlets.append(poweroutlet)
-
-    if not need_poweroutlets:
-        return
-
-    all_power_ports = {str(item): item for item in nb.dcim.power_port_templates.filter(moduletype_id=module_type)}
-    for outlet in need_poweroutlets:
-        try:
-            ppGet = all_power_ports[outlet["power_port"]]
-            outlet['power_port'] = ppGet.id
-        except KeyError:
-            pass
-
-    try:
-        poSuccess = nb.dcim.power_outlet_templates.create(need_poweroutlets)
-        if counter is not None:
-            for po in poSuccess:
-                counter.update({'module_port_added': 1})
-    except pynetbox.RequestError:
-        pass
-
-
-def createDeviceTypes(deviceTypes, nb, counter=None):
-    all_device_types = {str(item): item for item in nb.dcim.device_types.all()}
-    for deviceType in deviceTypes:
-        try:
-            dt = all_device_types[deviceType["model"]]
-        except KeyError:
-            try:
-                dt = nb.dcim.device_types.create(deviceType)
-                if counter is not None:
-                    counter.update({'added': 1})
-            except pynetbox.RequestError:
-                pass
-
-        if "interfaces" in deviceType:
-            createInterfaces(deviceType["interfaces"], dt.id, nb, counter=counter)
-        if "power-ports" in deviceType:
-            createPowerPorts(deviceType["power-ports"], dt.id, nb, counter=counter)
-        if "power-port" in deviceType:
-            createPowerPorts(deviceType["power-port"], dt.id, nb, counter=counter)
-        if "console-ports" in deviceType:
-            createConsolePorts(deviceType["console-ports"], dt.id, nb, counter=counter)
-        if "power-outlets" in deviceType:
-            createPowerOutlets(deviceType["power-outlets"], dt.id, nb, counter=counter)
-        if "console-server-ports" in deviceType:
-            createConsoleServerPorts(deviceType["console-server-ports"], dt.id, nb, counter=counter)
-        if "rear-ports" in deviceType:
-            createRearPorts(deviceType["rear-ports"], dt.id, nb, counter=counter)
-        if "front-ports" in deviceType:
-            createFrontPorts(deviceType["front-ports"], dt.id, nb, counter=counter)
-        if "device-bays" in deviceType:
-            createDeviceBays(deviceType["device-bays"], dt.id, nb, counter=counter)
-        if "module-bays" in deviceType:
-            create_module_bays(deviceType['module-bays'], dt.id, nb, counter=counter)
-
-
-def create_module_types(module_types, nb, counter=None):
-    '''Create missing module types.
-
-    Args:
-        module_types: yaml data from repo.
-        nb: pynetbox API instance
-
-    Returns:
-        None
-    '''
-
-    all_module_types = {}
-    for curr_nb_mt in nb.dcim.module_types.all():
-        if curr_nb_mt.manufacturer.slug not in all_module_types:
-            all_module_types[curr_nb_mt.manufacturer.slug] = {}
-
-        all_module_types[curr_nb_mt.manufacturer.slug][curr_nb_mt.model] = curr_nb_mt
-
-    for curr_mt in module_types:
-        try:
-            module_type_res = all_module_types[curr_mt['manufacturer']['slug']][curr_mt["model"]]
-        except KeyError:
-            try:
-                module_type_res = nb.dcim.module_types.create(curr_mt)
-                if counter is not None:
-                    counter.update({'module_added': 1})
-            except pynetbox.RequestError:
-                pass
-
-        # module_type_res = all_module_types[curr_mt['manufacturer']['slug']][curr_mt["model"]]
-
-        if "interfaces" in curr_mt:
-            create_module_interfaces(curr_mt["interfaces"], module_type_res.id, nb, counter=counter)
-        if "power-ports" in curr_mt:
-            create_module_power_ports(curr_mt["power-ports"], module_type_res.id, nb, counter=counter)
-        if "console-ports" in curr_mt:
-            create_module_console_ports(curr_mt["console-ports"], module_type_res.id, nb, counter=counter)
-        if "power-outlets" in curr_mt:  # No current entries to test
-            create_module_power_outlets(curr_mt["power-outlets"], module_type_res.id, nb, counter=counter)
-        if "console-server-ports" in curr_mt:  # No current entries to test
-            create_module_console_server_ports(curr_mt["console-server-ports"], module_type_res.id, nb, counter=counter)
-        if "rear-ports" in curr_mt:
-            create_module_rear_ports(curr_mt["rear-ports"], module_type_res.id, nb, counter=counter)
-        if "front-ports" in curr_mt:
-            create_module_front_ports(curr_mt["front-ports"], module_type_res.id, nb, counter=counter)
-
-
-def import_library(nb, library_dir):
-    cntr = Counter(
-        added=0,
-        updated=0,
-        manufacturer=0,
-        module_added=0,
-        module_port_added=0,
-    )
-
-    if library_dir is not None and os.path.isdir(library_dir):
-        files, vendors = getFiles(library_dir)
-        deviceTypes = readYAMl(files)
-        createManufacturers(vendors, nb, counter=cntr)
-        createDeviceTypes(deviceTypes, nb, counter=cntr)
-
-        files, vendors = get_files_modules(library_dir)
-        module_types = read_yaml_modules(files)
-        createManufacturers(vendors, nb, counter=cntr)
-        create_module_types(module_types, nb, counter=cntr)
-
-    return cntr
diff --git a/netbox/supervisord.conf b/netbox/supervisord.conf
index 4bb797473..2811b23d9 100644
--- a/netbox/supervisord.conf
+++ b/netbox/supervisord.conf
@@ -38,7 +38,7 @@ command=/opt/netbox/venv/bin/python /usr/local/bin/netbox_init.py
   --url "http://localhost:8080/netbox"
   --token "%(ENV_SUPERUSER_API_TOKEN)s"
   --net-map /usr/local/share/net-map.json
-  --library "%(ENV_NETBOX_DEVICETYPE_LIBRARY_PATH)s"
+  --library "%(ENV_NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH)s"
   --preload "%(ENV_NETBOX_PRELOAD_PATH)s"
   --preload-prefixes %(ENV_NETBOX_PRELOAD_PREFIXES)s
   --postgres-host "%(ENV_DB_HOST)s"
diff --git a/scripts/build.sh b/scripts/build.sh
index 36bd18b5c..ec85eeb1c 100755
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -119,7 +119,7 @@ FILES_IN_IMAGES=(
   "/opt/arkime/etc/ipv4-address-space.csv;arkime"
   "/opt/arkime/etc/oui.txt;arkime"
   "/opt/arkime/bin/capture;arkime"
-  "/opt/netbox-devicetype-library/schema/components.json;netbox"
+  "/opt/netbox-devicetype-library-import/repo/schema/components.json;netbox"
   "/opt/zeek/bin/zeek;zeek"
   "/opt/zeek/bin/spicyz;zeek"
   "/usr/share/nginx/html/index.html;nginx-proxy"

From 81f6150eb494574b0619ca3e440cd058799425d8 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 15:16:52 -0700
Subject: [PATCH 33/88] directly use the
 netbox-community/Device-Type-Library-Import script to load netbox device type
 library

---
 netbox/scripts/netbox_init.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/netbox/scripts/netbox_init.py b/netbox/scripts/netbox_init.py
index c32916a88..7684c8b58 100755
--- a/netbox/scripts/netbox_init.py
+++ b/netbox/scripts/netbox_init.py
@@ -888,7 +888,7 @@ def main():
                     osEnv = os.environ.copy()
                     osEnv['NETBOX_URL'] = args.netboxUrl
                     osEnv['NETBOX_TOKEN'] = args.netboxToken
-                    osEnv['REPO_URL'] = f"file://{os.path.join(args.libraryDir), 'repo'}"
+                    osEnv['REPO_URL'] = 'local'
                     cmd = [netboxVenvPy, 'nb-dt-import.py']
                     err, results = malcolm_utils.run_process(
                         cmd,

From c6298b583de4d55ea94f556615f687cb70b423ad Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 16:02:29 -0700
Subject: [PATCH 34/88] remove a device type directory that's breaking the
 database key integrity requirements

---
 Dockerfiles/netbox.Dockerfile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile
index 79bdc1bc9..0219460b9 100644
--- a/Dockerfiles/netbox.Dockerfile
+++ b/Dockerfiles/netbox.Dockerfile
@@ -103,6 +103,7 @@ RUN apt-get -q update && \
       sed -i "s/self.pull_repo()/pass/g" ./repo.py && \
       mkdir -p ./repo && \
       curl -sSL "${NETBOX_DEVICETYPE_LIBRARY_URL}" | tar xzf - -C ./repo --strip-components 1 && \
+      rm -rf ./repo/device-types/WatchGuard && \
     mkdir -p "${NETBOX_PATH}/netbox/${BASE_PATH}" && \
       mv "${NETBOX_PATH}/netbox/static" "${NETBOX_PATH}/netbox/${BASE_PATH}/static" && \
       jq '. += { "settings": { "http": { "discard_unsafe_fields": false } } }' /etc/unit/nginx-unit.json | jq 'del(.listeners."[::]:8080")' | jq 'del(.listeners."[::]:8081")' | jq ".routes.main[0].match.uri = \"/${BASE_PATH}/static/*\"" > /etc/unit/nginx-unit-new.json && \

From 5d701df2354ac5ddef32a4361a011c76da99e182 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Thu, 4 Jan 2024 21:27:16 -0700
Subject: [PATCH 35/88] fix link for arkime from dashboards

---
 dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json | 2 +-
 dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json | 2 +-
 dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json | 2 +-
 dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json | 2 +-
 dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json | 2 +-
 dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 2 +-
 dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json | 2 +-
 dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json | 2 +-
 dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json | 2 +-
 dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json | 2 +-
 dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json | 2 +-
 dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json | 2 +-
 dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json | 2 +-
 dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json | 2 +-
 dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json | 2 +-
 dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json | 2 +-
 dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json | 2 +-
 dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json | 2 +-
 dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json | 2 +-
 dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json | 2 +-
 dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json | 2 +-
 dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json | 2 +-
 dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json | 2 +-
 dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json | 2 +-
 dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json | 2 +-
 dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json | 2 +-
 dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json | 2 +-
 dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json | 2 +-
 dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json | 2 +-
 dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json | 2 +-
 dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json | 2 +-
 dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +-
 dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json | 2 +-
 dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json | 2 +-
 dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json | 2 +-
 dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json | 2 +-
 dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json | 2 +-
 dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json | 2 +-
 dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json | 2 +-
 dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json | 2 +-
 dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json | 2 +-
 dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json | 2 +-
 dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json | 2 +-
 dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json | 2 +-
 dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 2 +-
 dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json | 2 +-
 dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json | 2 +-
 dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json | 2 +-
 dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +-
 dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json | 2 +-
 dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json | 2 +-
 dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json | 2 +-
 dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json | 2 +-
 dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json | 2 +-
 dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json | 2 +-
 dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +-
 dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json | 2 +-
 dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json | 2 +-
 dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json | 2 +-
 dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json | 2 +-
 dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json | 2 +-
 dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json | 2 +-
 dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json | 2 +-
 dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json | 2 +-
 dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json | 2 +-
 dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json | 2 +-
 dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json | 2 +-
 dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json | 2 +-
 dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json | 2 +-
 dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json | 2 +-
 dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json | 2 +-
 dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json | 2 +-
 dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json | 2 +-
 dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json | 2 +-
 74 files changed, 74 insertions(+), 74 deletions(-)

diff --git a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
index dd55d865a..850c55c2b 100644
--- a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
+++ b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
@@ -112,7 +112,7 @@
       "version": "Wzc0MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
index 7f432f35b..11c63eb2b 100644
--- a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
+++ b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
@@ -87,7 +87,7 @@
       "version": "Wzc5NSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
index 897ebb88a..9a380588e 100644
--- a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
+++ b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
@@ -92,7 +92,7 @@
       "version": "Wzg3OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
index fdcb0d860..c13df5038 100644
--- a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
+++ b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
index c7de97cca..82734a3a9 100644
--- a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
+++ b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
@@ -87,7 +87,7 @@
       "version": "WzkzNiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
index 93f0ad777..0c45fd8e9 100644
--- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
+++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
@@ -87,7 +87,7 @@
       "version": "Wzc5NSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
index 5b12108a0..1c0dd53cd 100644
--- a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
+++ b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
index 3081bc906..76c75d379 100644
--- a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
+++ b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
@@ -107,7 +107,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
index c4bd61fdf..2edf0077c 100644
--- a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
+++ b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
@@ -82,7 +82,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
index ad93e575a..286026632 100644
--- a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
+++ b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
index 379e2e8f9..6c8a08505 100644
--- a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
+++ b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
@@ -82,7 +82,7 @@
       "version": "Wzc1NSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
index 0ef978d75..28176f040 100644
--- a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
+++ b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
@@ -127,7 +127,7 @@
       "version": "Wzg1NywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
index 76236f328..6d5b8e3a9 100644
--- a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
+++ b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
@@ -92,7 +92,7 @@
       "version": "WzkzNiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
index c226f7e9f..5286672ad 100644
--- a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
index a93e2e466..3abce6f00 100644
--- a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
+++ b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
@@ -72,7 +72,7 @@
       "version": "Wzc4NCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
index 8e32017c8..d67af9f6f 100644
--- a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
@@ -102,7 +102,7 @@
       "version": "Wzc4NSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
index 4975bb3da..f23198b57 100644
--- a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
@@ -112,7 +112,7 @@
       "version": "Wzg1NiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
index f976325fc..aa93ccb50 100644
--- a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
+++ b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
@@ -122,7 +122,7 @@
       "version": "Wzg0OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
index e80a561d0..24ecaaf4a 100644
--- a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
+++ b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
@@ -107,7 +107,7 @@
       "version": "Wzg3OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
index c33f62e04..3d763d28a 100644
--- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
+++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
@@ -117,7 +117,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
index 021a33650..ff1bec8ec 100644
--- a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
@@ -72,7 +72,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
index 2f3585c98..4ea6ee9a4 100644
--- a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
+++ b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
@@ -97,7 +97,7 @@
       "version": "Wzc2OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
index 3f5bcda89..69dd8c9c9 100644
--- a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
+++ b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
@@ -127,7 +127,7 @@
       "version": "Wzg1OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
index a853ad2fc..731ada58a 100644
--- a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
index 2158350bf..a34b2f29c 100644
--- a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
+++ b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
@@ -102,7 +102,7 @@
       "version": "WzkzNywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
index de6fc28aa..0dd286831 100644
--- a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
+++ b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
@@ -97,7 +97,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
index f42f2026f..677fa9c43 100644
--- a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
+++ b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
@@ -82,7 +82,7 @@
       "version": "Wzg4MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
index 90f6202fb..e59e420a4 100644
--- a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
+++ b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
@@ -92,7 +92,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
index e19a7f47b..b903db812 100644
--- a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
+++ b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
@@ -87,7 +87,7 @@
       "version": "Wzg1OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
index f451ce54a..67d3cedf9 100644
--- a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
+++ b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
@@ -97,7 +97,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
index b0c8c9330..29c7129e2 100644
--- a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
+++ b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
@@ -97,7 +97,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
index b4a9dc84d..3edcebc14 100644
--- a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -47,7 +47,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
index 62c4c17f3..87f3167cc 100644
--- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
+++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
@@ -97,7 +97,7 @@
       "version": "Wzc4NCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
index 3a259c876..6bcbd4f97 100644
--- a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
+++ b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
index e86eadc09..8d328cb06 100644
--- a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
+++ b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
@@ -77,7 +77,7 @@
       "version": "Wzc4NCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
index a90ffa3ae..52d43d0d0 100644
--- a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
+++ b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
@@ -117,7 +117,7 @@
       "version": "Wzg2MCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
index 044bef8b1..c452f1d5a 100644
--- a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
+++ b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
@@ -82,7 +82,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
index c29fabf3f..710154d0b 100644
--- a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
index 29018b3e2..fe22e1ae0 100644
--- a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
+++ b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
@@ -92,7 +92,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
index 9f3c8535e..dba7cb265 100644
--- a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
+++ b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
@@ -127,7 +127,7 @@
       "version": "WzcyNiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
index bf3b569cc..9f9933675 100644
--- a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
+++ b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
@@ -107,7 +107,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
index a080c3e2c..5f373392d 100644
--- a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
+++ b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
@@ -102,7 +102,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
index 22fd40a17..a0b342987 100644
--- a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
+++ b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
@@ -92,7 +92,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
index 6fe1e0aab..048c718fc 100644
--- a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
+++ b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
@@ -62,7 +62,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
index ebc0563e8..7ff4f54bd 100644
--- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
+++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
@@ -102,7 +102,7 @@
       "version": "WzgzNywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
index 9c2307012..db66cce10 100644
--- a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
+++ b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
index 7da2f2b80..30d07fe83 100644
--- a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
+++ b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
@@ -102,7 +102,7 @@
       "version": "Wzg1NywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
index b40361267..4dcf04eac 100644
--- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
+++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
@@ -117,7 +117,7 @@
       "version": "Wzc4NiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
index a09f62ff4..089349790 100644
--- a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
index c014f4a80..ee4b3eb59 100644
--- a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
+++ b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
@@ -82,7 +82,7 @@
       "version": "Wzg1OSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
index 3bb747c95..a3b757c70 100644
--- a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
index 7e705d7e5..9df8a913f 100644
--- a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
+++ b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
@@ -167,7 +167,7 @@
       "version": "Wzc4NiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
index ae7dd1c31..01be94389 100644
--- a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
+++ b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
@@ -87,7 +87,7 @@
       "version": "WzkzNywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
index 27e948b3c..5c24b521e 100644
--- a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
+++ b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
@@ -87,7 +87,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
index b36c99d39..3ae48e383 100644
--- a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
+++ b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
index 3b3d9494a..bce317209 100644
--- a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
index 85db02f8b..fe4e02a41 100644
--- a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
+++ b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
@@ -107,7 +107,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
index fafbb9724..ca024e00b 100644
--- a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
@@ -72,7 +72,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
index 7696aca08..813a5c6dd 100644
--- a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
+++ b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
@@ -82,7 +82,7 @@
       "version": "WzY5MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
index e1dbe8789..62c2d8847 100644
--- a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
+++ b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
@@ -77,7 +77,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
index 902c9edf2..9f73fd737 100644
--- a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
+++ b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
@@ -92,7 +92,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
index 8060287c3..e3fb73a63 100644
--- a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
+++ b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
@@ -102,7 +102,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
index 1d4af528f..c7c63c3ee 100644
--- a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
+++ b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
@@ -112,7 +112,7 @@
       "version": "WzczOSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
index 3935703d5..ef4c170a9 100644
--- a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
index 1d7995bb7..33b38480a 100644
--- a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
+++ b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
index d1f6db864..ac91e6016 100644
--- a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
+++ b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
@@ -107,7 +107,7 @@
       "version": "WzgzOCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
index e72cb9bc8..229e97acd 100644
--- a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
+++ b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
index 02179d422..455a53aaa 100644
--- a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
@@ -87,7 +87,7 @@
       "version": "WzgwMSwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
index 662b0b6e1..404280a46 100644
--- a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
@@ -47,7 +47,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
index b0f9d6a7f..44b974e2a 100644
--- a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
+++ b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
@@ -137,7 +137,7 @@
       "version": "Wzc4NCwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
index d03bbf685..0f4429f77 100644
--- a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
+++ b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
@@ -57,7 +57,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
index a871622ba..2c2b0e1e2 100644
--- a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
+++ b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
@@ -102,7 +102,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
index 47a28dcc3..0b583c93c 100644
--- a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
@@ -77,7 +77,7 @@
       "version": "Wzg3MiwxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
index d122bfa4e..68d0a8e17 100644
--- a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
+++ b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
@@ -102,7 +102,7 @@
       "version": "WzkzNywxXQ==",
       "attributes": {
         "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,

From 1adea3bf79d34815a13b6115af380bfcfbb5b647 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 07:42:28 -0700
Subject: [PATCH 36/88] landingpage work in progress (idaholab/Malcolm#252)

---
 nginx/landingpage/index.html | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index 34e5b6520..5d0e8d23d 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -41,21 +41,21 @@ <h1 class="mb-5"/>
                         <div class="features-icons-item mx-auto mb-0 mb-lg-3">
                             <a href="/dashboards/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/opensearch_mark_default.svg"/>
                             <h3>Dashboards</h3></a>
-                            <p class="lead mb-0">Visualize traffic or track down security concerns with dozens of pre-built dashboards, or create your own</p>
+                            <p class="lead mb-0">Visualize traffic or track down security concerns with dozens of <a href="/readme/docs/dashboards.html#PrebuiltVisualizations">pre-built dashboards</a>, or <a href="/readme/docs/dashboards.html#BuildDashboard">create your own</a></p>
                         </div>
                     </div>
                     <div class="col-lg-3">
                         <div class="features-icons-item mx-auto mb-5 mb-lg-3">
                             <a href="/arkime/"><img style='width: 19%; height: 19%; object-fit: contain' src="assets/img/Arkime_Logo_FullGradientBlack.svg#svgView(viewBox(0, 8, 80, 145))"/>
                             <h3>Arkime</h3></a>
-                            <p class="lead mb-0">Delve into session details including full packet payloads</p>
+                            <p class="lead mb-0">Delve into <a href="/readme/docs/arkime.html">session details</a> including full packet payloads</p>
                         </div>
                     </div>
                     <div class="col-lg-3">
                         <div class="features-icons-item mx-auto mb-0 mb-lg-3">
                             <a href="/netbox/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/netbox_icon.svg"/>
                             <h3>NetBox</h3></a>
-                            <p class="lead mb-0">Model and document your network infrastructure</p>
+                            <p class="lead mb-0">Model and document your <a href="/readme/docs/asset-interaction-analysis.html">network infrastructure</a></p>
                         </div>
                     </div>
                     <div class="col-lg-3">
@@ -78,21 +78,21 @@ <h3>Documentation</h3></a>
                         <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3">
                             <a href="/upload/"><div class="features-icons-icon d-flex"><i class="bi-upload m-auto text-primary"></i></div>
                             <h3>Artifact Upload</h3></a>
-                            <p class="lead mb-0">Upload previously-captured PCAP files or archived Zeek logs for analysis</p>
+                            <p class="lead mb-0"><a href="/readme/docs/upload.html">Upload</a> previously-captured PCAP files or archived Zeek logs for analysis</p>
                         </div>
                     </div>
                     <div class="col-lg-3">
                         <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3">
                             <a href="/auth/"><div class="features-icons-icon d-flex"><i class="bi-person m-auto text-primary"></i></div>
                             <h3>Local Account Management</h3></a>
-                            <p class="lead mb-0">Manage the local user accounts maintained by Malcolm</p>
+                            <p class="lead mb-0">Manage the <a href="/readme/docs/authsetup.html#AuthBasicAccountManagement">local user accounts</a> maintained by Malcolm</p>
                         </div>
                     </div>
                     <div class="col-lg-3">
                         <div class="features-icons-item mx-auto mb-0 mb-lg-3">
                             <a href="/mapi/"><div class="features-icons-icon d-flex"><i class="bi-gear m-auto text-primary"></i></div>
                             <h3>API</h3></a>
-                            <p class="lead mb-0">Interface with Malcolm's underlying data via a REST API</p>
+                            <p class="lead mb-0">Interface with Malcolm's underlying data via a <a href="/readme/docs/api.html">REST API</a></p>
                         </div>
                     </div>
                 </div>

From 46e216644c5e38b7ec2551d1a79cbf20f484c1c4 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 07:45:22 -0700
Subject: [PATCH 37/88] landingpage work in progress (idaholab/Malcolm#252)

---
 nginx/landingpage/index.html | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index 5d0e8d23d..82637d7f5 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -1,5 +1,6 @@
 <!DOCTYPE html>
 <html lang="en">
+    <!-- Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved. -->
     <head>
         <meta charset="utf-8" />
         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
@@ -122,4 +123,5 @@ <h3>API</h3></a>
         <!-- Core theme JS-->
         <script src="js/scripts.js"></script>
     </body>
+    <!-- See, Here I'm Now By Myself, Uh, Talking To Myself. That's, That's Chaos Theory. -->
 </html>

From aa716dd996cca1155ab7db5b37f08fa1d7e0731d Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 08:55:22 -0700
Subject: [PATCH 38/88] drop netbox back to v3.6.7 while I work out some things
 for the upgrade

---
 Dockerfiles/netbox.Dockerfile | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile
index 0219460b9..fce34a491 100644
--- a/Dockerfiles/netbox.Dockerfile
+++ b/Dockerfiles/netbox.Dockerfile
@@ -1,4 +1,4 @@
-FROM netboxcommunity/netbox:v3.7.0
+FROM netboxcommunity/netbox:v3.6.7
 
 # Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
 LABEL maintainer="malcolm@inl.gov"
@@ -30,6 +30,8 @@ ENV SUPERCRONIC "supercronic-linux-amd64"
 ENV SUPERCRONIC_SHA1SUM "cd48d45c4b10f3f0bfdd3a57d054cd05ac96812b"
 ENV SUPERCRONIC_CRONTAB "/etc/crontab"
 
+ENV NETBOX_INITIALIZERS_VERSION "ebf1f76"
+
 ENV YQ_VERSION "4.33.3"
 ENV YQ_URL "https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64"
 
@@ -73,7 +75,7 @@ RUN apt-get -q update && \
       supervisor \
       tini && \
     "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir \
-      'git+https://github.com/tobiasge/netbox-initializers@v3.7.0' \
+      "git+https://github.com/tobiasge/netbox-initializers@${NETBOX_INITIALIZERS_VERSION}" \
       psycopg2 \
       pynetbox \
       python-magic \

From 301ff5683c124926eec7e7a5cdbbf48330a6cfa6 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 12:07:19 -0700
Subject: [PATCH 39/88]  more consistently differentiate between uploaded and
 live-captured traffic idaholab/Malcolm#321 WIP

---
 arkime/scripts/live_capture.sh                |  2 +-
 arkime/scripts/viewer_service.sh              |  4 ++--
 filebeat/filebeat.yml                         |  6 +++---
 .../pipelines/enrichment/97_arkimize.conf     | 11 +++++++++-
 .../pipelines/enrichment/98_finalize.conf     | 16 ++++++++++++---
 .../pipelines/suricata/01_input_suricata.conf | 19 ++++--------------
 logstash/pipelines/zeek/01_input_zeek.conf    | 20 +++++--------------
 shared/bin/pcap_processor.py                  |  8 ++++----
 8 files changed, 42 insertions(+), 44 deletions(-)

diff --git a/arkime/scripts/live_capture.sh b/arkime/scripts/live_capture.sh
index 19072706a..04069f2cf 100755
--- a/arkime/scripts/live_capture.sh
+++ b/arkime/scripts/live_capture.sh
@@ -8,7 +8,7 @@ KEY_FILE="${ARKIME_DIR}"/etc/viewer.key
 ARKIME_PACKET_THREADS=${ARKIME_PACKET_THREADS:-1}
 PUSER=${PUSER:-"arkime"}
 PGROUP=${PGROUP:-"arkime"}
-NODE_NAME=${PCAP_NODE_NAME:-"malcolm"}-live
+NODE_NAME=${PCAP_NODE_NAME:-"malcolm"}
 NODE_HOST=${ARKIME_LIVE_NODE_HOST:-""}
 
 OPENSEARCH_PRIMARY=${OPENSEARCH_PRIMARY:-"opensearch-local"}
diff --git a/arkime/scripts/viewer_service.sh b/arkime/scripts/viewer_service.sh
index 00314c460..04184390a 100755
--- a/arkime/scripts/viewer_service.sh
+++ b/arkime/scripts/viewer_service.sh
@@ -2,14 +2,14 @@
 
 # Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
 
-[[ "${ARKIME_LIVE_CAPTURE:-false}" == "true" ]] && LIVE_NODE_FLAG=-live || LIVE_NODE_FLAG=
+[[ "${ARKIME_LIVE_CAPTURE:-false}" == "true" ]] && NODE_NAME_FLAG= || NODE_NAME_FLAG=-upload
 
 while true; do
   if [[ -f /var/run/arkime/initialized && "$VIEWER" == "on" ]]; then
     echo "Launch viewer..."
     rm -f $ARKIME_DIR/logs/viewer*
     pushd $ARKIME_DIR/viewer >/dev/null 2>&1
-    $ARKIME_DIR/bin/node viewer.js --insecure -n "${PCAP_NODE_NAME:-malcolm}${LIVE_NODE_FLAG}" -c $ARKIME_DIR/etc/config.ini
+    $ARKIME_DIR/bin/node viewer.js --insecure -n "${PCAP_NODE_NAME:-malcolm}${NODE_NAME_FLAG}" -c $ARKIME_DIR/etc/config.ini
     popd >/dev/null 2>&1
   fi
   sleep 5
diff --git a/filebeat/filebeat.yml b/filebeat/filebeat.yml
index ba5590419..454a443e4 100644
--- a/filebeat/filebeat.yml
+++ b/filebeat/filebeat.yml
@@ -15,7 +15,7 @@ filebeat.inputs:
   exclude_files: ['signatures\(_carved.*\)\.log$']
   symlinks: true
   fields_under_root: true
-  tags: ["_filebeat_zeek"]
+  tags: ["_filebeat_zeek_malcolm_upload"]
   compression_level: 0
   exclude_lines: ['^\s*#']
   scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s}
@@ -57,7 +57,7 @@ filebeat.inputs:
     - ${FILEBEAT_ZEEK_LOG_PATH:/zeek/current}/signatures(_carved*).log
   symlinks: true
   fields_under_root: true
-  tags: ["_filebeat_zeek"]
+  tags: ["_filebeat_zeek_malcolm_live"]
   compression_level: 0
   exclude_lines: ['^\s*#']
   scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s}
@@ -75,7 +75,7 @@ filebeat.inputs:
     - ${FILEBEAT_SURICATA_LOG_PATH:/suricata}/eve-*.json
   symlinks: true
   fields_under_root: true
-  tags: ["_filebeat_suricata"]
+  tags: ["_filebeat_suricata_malcolm_upload"]
   compression_level: 0
   scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s}
   clean_inactive: ${FILEBEAT_CLEAN_INACTIVE:180m}
diff --git a/logstash/pipelines/enrichment/97_arkimize.conf b/logstash/pipelines/enrichment/97_arkimize.conf
index 384f9a455..a94c58696 100644
--- a/logstash/pipelines/enrichment/97_arkimize.conf
+++ b/logstash/pipelines/enrichment/97_arkimize.conf
@@ -39,7 +39,7 @@ filter {
       # note that if so, the arkime "user" field may conflict with ECS here
     }
 
-    # this identifies which node the log came from
+    # this identifies which node the log came from in Arkime
     if ([beat][name]) {
       mutate { id => "mutate_add_field_beat_name_node"
                add_field => { "[node]" => "%{[beat][name]}" } }
@@ -51,4 +51,13 @@ filter {
                add_field => { "[node]" => "malcolm" } }
     }
 
+    # for Arkime's node name, add -upload for uploaded PCAP data to be consistent with Arkime sessions
+    if ("_filebeat_zeek_malcolm_upload" in [tags]) or
+       ("_filebeat_suricata_malcolm_upload" in [tags]) or
+       ("_filebeat_zeek_upload" in [tags]) or
+       ("_filebeat_suricata_upload" in [tags]) {
+      mutate { id => "mutate_replace_node_name_uploaded"
+               replace => {"[node]" => "%{[node]}-upload" } }
+    }
+
 }
\ No newline at end of file
diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf
index f292b9202..5655f6908 100644
--- a/logstash/pipelines/enrichment/98_finalize.conf
+++ b/logstash/pipelines/enrichment/98_finalize.conf
@@ -61,7 +61,17 @@ filter {
                              "_jsonparsefailure",
                              "_dissectfailure",
                              "_ouilookupfailure",
-                             "_geoip_lookup_failure" ] }
-
-
+                             "_geoip_lookup_failure",
+                             "_filebeat_suricata",
+                             "_filebeat_suricata_hedgehog_live",
+                             "_filebeat_suricata_live",
+                             "_filebeat_suricata_malcolm_live",
+                             "_filebeat_suricata_malcolm_upload",
+                             "_filebeat_suricata_upload",
+                             "_filebeat_zeek",
+                             "_filebeat_zeek_hedgehog_live",
+                             "_filebeat_zeek_live",
+                             "_filebeat_zeek_malcolm_live",
+                             "_filebeat_zeek_malcolm_upload",
+                             "_filebeat_zeek_upload" ] }
 }
\ No newline at end of file
diff --git a/logstash/pipelines/suricata/01_input_suricata.conf b/logstash/pipelines/suricata/01_input_suricata.conf
index b04ccc79d..80e796ce3 100644
--- a/logstash/pipelines/suricata/01_input_suricata.conf
+++ b/logstash/pipelines/suricata/01_input_suricata.conf
@@ -9,23 +9,12 @@ filter {
   # this pipeline only needs to see suricata logs forwarded from filebeat
   if ("_filebeat_suricata" in [tags]) or
      ("_filebeat_suricata_live" in [tags]) or
+     ("_filebeat_suricata_upload" in [tags]) or
      ("_filebeat_suricata_hedgehog_live" in [tags]) or
-     ("_filebeat_suricata_malcolm_live" in [tags]) {
+     ("_filebeat_suricata_malcolm_live" in [tags]) or
+     ("_filebeat_suricata_malcolm_upload" in [tags]) {
 
-    if ("_filebeat_suricata_malcolm_live" in [tags]) {
-      # the shipper name comes from PCAP_NODE_NAME in filebeat.yml, but for consistency
-      #   with Arkime live capture append -live to the name for traffic captured live
-      if ([beat][name]) { mutate { id => "mutate_replace_beat_name_suricata_live"
-                                   replace => {"[beat][name]" => "%{[beat][name]}-live" } } }
-      if ([host][name]) { mutate { id => "mutate_replace_host_name_suricata_live"
-                                   replace => {"[host][name]" => "%{[host][name]}-live" } } }
-    }
-
-    mutate { id => "mutate_filebeat_suricata_forward_tag_remove"
-             remove_tag => [ "_filebeat_suricata",
-                             "_filebeat_suricata_live",
-                             "_filebeat_suricata_hedgehog_live",
-                             "_filebeat_suricata_malcolm_live" ] }
+    mutate { id => "mutate_filebeat_suricata_forward_noop" }
 
   } else {
     drop { id => "drop_not_filebeat_suricata" }
diff --git a/logstash/pipelines/zeek/01_input_zeek.conf b/logstash/pipelines/zeek/01_input_zeek.conf
index ddf4c13dd..6731613bc 100644
--- a/logstash/pipelines/zeek/01_input_zeek.conf
+++ b/logstash/pipelines/zeek/01_input_zeek.conf
@@ -9,25 +9,15 @@ filter {
   # this pipeline only needs to see zeek logs forwarded from filebeat
   if ("_filebeat_zeek" in [tags]) or
      ("_filebeat_zeek_live" in [tags]) or
+     ("_filebeat_zeek_upload" in [tags]) or
      ("_filebeat_zeek_hedgehog_live" in [tags]) or
-     ("_filebeat_zeek_malcolm_live" in [tags]) {
+     ("_filebeat_zeek_malcolm_live" in [tags]) or
+     ("_filebeat_zeek_malcolm_upload" in [tags]) {
 
-    if ("_filebeat_zeek_malcolm_live" in [tags]) {
-      # the shipper name comes from PCAP_NODE_NAME in filebeat.yml, but for consistency
-      #   with Arkime live capture append -live to the name for traffic captured live
-      if ([beat][name]) { mutate { id => "mutate_replace_beat_name_zeek_live"
-                                   replace => {"[beat][name]" => "%{[beat][name]}-live" } } }
-      if ([host][name]) { mutate { id => "mutate_replace_host_name_zeek_live"
-                                   replace => {"[host][name]" => "%{[host][name]}-live" } } }
-    }
-
-    mutate { id => "mutate_filebeat_zeek_forward_tag_remove"
-             remove_tag => [ "_filebeat_zeek",
-                             "_filebeat_zeek_live",
-                             "_filebeat_zeek_hedgehog_live",
-                             "_filebeat_zeek_malcolm_live" ] }
+    mutate { id => "mutate_filebeat_zeek_forward_noop" }
 
   } else {
     drop { id => "drop_not_filebeat_zeek" }
   }
 }
+
diff --git a/shared/bin/pcap_processor.py b/shared/bin/pcap_processor.py
index adf07fcb3..40e62d1c0 100755
--- a/shared/bin/pcap_processor.py
+++ b/shared/bin/pcap_processor.py
@@ -166,11 +166,11 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs):
                         )
                         logger.info(f"{scriptName}[{scanWorkerId}]:\t🔎\t{fileInfo}")
 
-                        # if this is a "live" rotated PCAP captured by netsniff-ng or tcpdump,
-                        #   append -live to the node name used (which originates from PCAP_NODE_NAME)
+                        # if this is an uploaded PCAP (not captured "live"")
+                        #   append -upload to the node name used (which originates from PCAP_NODE_NAME)
                         tmpNodeName = fileInfo[FILE_INFO_DICT_NODE] if (FILE_INFO_DICT_NODE in fileInfo) else nodeName
-                        if (FILE_INFO_DICT_LIVE in fileInfo) and fileInfo[FILE_INFO_DICT_LIVE]:
-                            tmpNodeName = tmpNodeName + '-live'
+                        if (not (FILE_INFO_DICT_LIVE in fileInfo)) or (not fileInfo[FILE_INFO_DICT_LIVE]):
+                            tmpNodeName = tmpNodeName + '-upload'
 
                         # put together arkime execution command
                         cmd = [

From 58c94f360f6e597be78d99b2e6dc5242bd896b64 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 12:08:51 -0700
Subject: [PATCH 40/88]  more consistently differentiate between uploaded and
 live-captured traffic idaholab/Malcolm#321 WIP

---
 arkime/scripts/docker_entrypoint.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh
index 9a5298a67..e3ceaba22 100755
--- a/arkime/scripts/docker_entrypoint.sh
+++ b/arkime/scripts/docker_entrypoint.sh
@@ -60,7 +60,7 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i
     sed -i "s/^\(freeSpaceG=\).*/\1"${ARKIME_FREESPACEG}"/" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(viewPort=\).*/\1"${VIEWER_PORT}"/" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(pcapDir=\).*/\1\/data\/pcap\/arkime-live/" "${ARKIME_CONFIG_FILE}"
-    sed -i "s/MALCOLM_PCAP_NODE_NAME/${NODE_NAME}/g" "${ARKIME_CONFIG_FILE}"
+    sed -i "s/MALCOLM_PCAP_NODE_NAME/${NODE_NAME}-upload/g" "${ARKIME_CONFIG_FILE}"
 
     # performance tuning parameters
     [[ -n "$ARKIME_DB_BULK_SIZE" ]] && \

From 11877985bb2a03505e2a0be5dc7d5f1cc438c01c Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 12:12:47 -0700
Subject: [PATCH 41/88] more consistently differentiate between uploaded and
 live-captured traffic idaholab/Malcolm#321 WIP

---
 arkime/scripts/docker_entrypoint.sh | 1 +
 arkime/scripts/viewer_service.sh    | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh
index e3ceaba22..ddea2fc2f 100755
--- a/arkime/scripts/docker_entrypoint.sh
+++ b/arkime/scripts/docker_entrypoint.sh
@@ -60,6 +60,7 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i
     sed -i "s/^\(freeSpaceG=\).*/\1"${ARKIME_FREESPACEG}"/" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(viewPort=\).*/\1"${VIEWER_PORT}"/" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(pcapDir=\).*/\1\/data\/pcap\/arkime-live/" "${ARKIME_CONFIG_FILE}"
+    # note: when setting the node name, the viewer_service.sh script needs to match
     sed -i "s/MALCOLM_PCAP_NODE_NAME/${NODE_NAME}-upload/g" "${ARKIME_CONFIG_FILE}"
 
     # performance tuning parameters
diff --git a/arkime/scripts/viewer_service.sh b/arkime/scripts/viewer_service.sh
index 04184390a..b6064fcdb 100755
--- a/arkime/scripts/viewer_service.sh
+++ b/arkime/scripts/viewer_service.sh
@@ -2,6 +2,8 @@
 
 # Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
 
+# note: when setting the node name, the docker_entrypoint.sh script around
+#   MALCOLM_PCAP_NODE_NAME as it gets written into config.ini needs to match
 [[ "${ARKIME_LIVE_CAPTURE:-false}" == "true" ]] && NODE_NAME_FLAG= || NODE_NAME_FLAG=-upload
 
 while true; do

From 38464670428d25202651316077c69597c40eb8fa Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 12:54:00 -0700
Subject: [PATCH 42/88] more consistently differentiate between uploaded and
 live-captured traffic idaholab/Malcolm#321 WIP

---
 dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 2 +-
 dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
index 0c45fd8e9..95273016e 100644
--- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
+++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
@@ -259,7 +259,7 @@
       "version": "WzY2LDFd",
       "attributes": {
         "title": "Capture Source",
-        "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"node\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
         "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
index 7ff4f54bd..29114ef82 100644
--- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
+++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
@@ -155,7 +155,7 @@
       "version": "WzUxMiwxXQ==",
       "attributes": {
         "title": "Capture Source",
-        "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"node\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
         "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
         "description": "",
         "version": 1,

From e0784e9d37dcfa2081d9bc25a24592212cc614e7 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 14:10:24 -0700
Subject: [PATCH 43/88] Fix idaholab/Malcolm#324 (time sync from hedgehog to
 Malcolm opensearch instance not working) by building htpdate from source with
 `make https` for ISO installers rather than installing version from the
 package repositories

Signed-off-by: Seth Grover <mero.mero.guero@gmail.com>
---
 malcolm-iso/build.sh                          |  6 +++
 .../config/package-lists/net.list.chroot      |  1 -
 malcolm-iso/htpdate/Dockerfile                | 26 +++++++++++++
 malcolm-iso/htpdate/build-docker-image.sh     | 11 ++++++
 malcolm-iso/htpdate/build-htpdate-deb.sh      | 37 +++++++++++++++++++
 sensor-iso/build.sh                           |  6 +++
 sensor-iso/build_via_vagrant.sh               |  4 +-
 .../config/package-lists/net.list.chroot      |  1 -
 8 files changed, 89 insertions(+), 3 deletions(-)
 create mode 100644 malcolm-iso/htpdate/Dockerfile
 create mode 100755 malcolm-iso/htpdate/build-docker-image.sh
 create mode 100755 malcolm-iso/htpdate/build-htpdate-deb.sh

diff --git a/malcolm-iso/build.sh b/malcolm-iso/build.sh
index feb2a0f99..bc99bdef8 100755
--- a/malcolm-iso/build.sh
+++ b/malcolm-iso/build.sh
@@ -178,6 +178,12 @@ if [ -d "$WORKDIR" ]; then
     cat "$SCRIPT_PATH/shared/environment.chroot" >> ./config/environment.chroot
   echo "PYTHONDONTWRITEBYTECODE=1" >> ./config/environment.chroot
 
+  # clone and build htpdate .deb package in its own clean environment (rather than in hooks/)
+  bash "$SCRIPT_PATH/htpdate/build-docker-image.sh"
+  docker run --rm -v "$SCRIPT_PATH"/htpdate:/build htpdate-build:latest -o /build
+  mv "$SCRIPT_PATH/htpdate"/*.deb ./config/packages.chroot/
+  docker rmi -f htpdate-build:latest
+
   # copy shared scripts and some branding stuff
   mkdir -p ./config/includes.chroot/usr/local/bin/
   rsync -a "$SCRIPT_PATH/../shared/bin/" ./config/includes.chroot/usr/local/bin/
diff --git a/malcolm-iso/config/package-lists/net.list.chroot b/malcolm-iso/config/package-lists/net.list.chroot
index 6106c8138..e28188a2e 100644
--- a/malcolm-iso/config/package-lists/net.list.chroot
+++ b/malcolm-iso/config/package-lists/net.list.chroot
@@ -2,7 +2,6 @@ apache2-utils
 ca-certificates
 curl
 ethtool
-htpdate
 iproute2
 iputils-arping
 iputils-ping
diff --git a/malcolm-iso/htpdate/Dockerfile b/malcolm-iso/htpdate/Dockerfile
new file mode 100644
index 000000000..5bccd51dc
--- /dev/null
+++ b/malcolm-iso/htpdate/Dockerfile
@@ -0,0 +1,26 @@
+FROM debian:12-slim
+
+# Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
+
+LABEL maintainer="malcolm@inl.gov"
+
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN apt-get -q update && \
+    apt-get install -q -y --no-install-recommends \
+      automake \
+      bison \
+      ca-certificates \
+      checkinstall \
+      curl \
+      flex \
+      gcc \
+      libssl-dev \
+      libtool \
+      make \
+      pkg-config && \
+  rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
+
+ADD build-htpdate-deb.sh /usr/local/bin/
+
+ENTRYPOINT ["/bin/bash", "/usr/local/bin/build-htpdate-deb.sh"]
diff --git a/malcolm-iso/htpdate/build-docker-image.sh b/malcolm-iso/htpdate/build-docker-image.sh
new file mode 100755
index 000000000..a2361e8cf
--- /dev/null
+++ b/malcolm-iso/htpdate/build-docker-image.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
+
+# force-navigate to script directory
+SCRIPT_PATH="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+pushd "$SCRIPT_PATH" >/dev/null 2>&1
+
+docker build -t htpdate-build:latest .
+
+popd >/dev/null 2>&1
diff --git a/malcolm-iso/htpdate/build-htpdate-deb.sh b/malcolm-iso/htpdate/build-htpdate-deb.sh
new file mode 100755
index 000000000..51b32567a
--- /dev/null
+++ b/malcolm-iso/htpdate/build-htpdate-deb.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
+
+HTPDATE_URL="https://github.com/twekkel/htpdate"
+HTPDATE_VER="$(curl -sqI "$HTPDATE_URL/releases/latest" | awk -F '/' '/^location/ {print  substr($NF, 1, length($NF)-1)}' | sed 's/^v//')"
+OUTPUT_DIR="/tmp"
+unset VERBOSE
+
+while getopts o:v opts; do
+   case ${opts} in
+      o) OUTPUT_DIR=${OPTARG} ;;
+      v) VERBOSE=1 ;;
+   esac
+done
+
+set -e
+if [[ -n $VERBOSE ]]; then
+  set -x
+fi
+
+
+cd /tmp
+mkdir ./htpdate
+curl -sSL "$HTPDATE_URL/tarball/v$HTPDATE_VER" | tar xzf - -C ./htpdate --strip-components 1
+cd ./htpdate
+grep -v man8 Makefile > Makefile.new && mv Makefile.new Makefile
+make https
+checkinstall -y -D --nodoc --strip=yes --stripso=yes --install=no --fstrans=no --pkgname=htpdate --pkgversion="$HTPDATE_VER" --pkgarch="amd64" --pkgsource="$HTPDATE_URL"
+ls -l *.deb && mv -v *.deb "$OUTPUT_DIR"/
+
+cd /tmp
+
+if [[ -n $VERBOSE ]]; then
+  set +x
+fi
+set +e
diff --git a/sensor-iso/build.sh b/sensor-iso/build.sh
index 85630c9ab..5b6dea645 100755
--- a/sensor-iso/build.sh
+++ b/sensor-iso/build.sh
@@ -153,6 +153,12 @@ if [ -d "$WORKDIR" ]; then
   mv "$SCRIPT_PATH/yara"/*.deb ./config/packages.chroot/
   docker rmi -f yara-build:latest
 
+  # clone and build htpdate .deb package in its own clean environment (rather than in hooks/)
+  bash "$SCRIPT_PATH/htpdate/build-docker-image.sh"
+  docker run --rm -v "$SCRIPT_PATH"/htpdate:/build htpdate-build:latest -o /build
+  mv "$SCRIPT_PATH/htpdate"/*.deb ./config/packages.chroot/
+  docker rmi -f htpdate-build:latest
+
   # grab maxmind geoip database files, iana ipv4 address ranges, wireshark oui lists, etc.
   mkdir -p "$SCRIPT_PATH/arkime/etc"
   pushd "$SCRIPT_PATH/arkime/etc"
diff --git a/sensor-iso/build_via_vagrant.sh b/sensor-iso/build_via_vagrant.sh
index fa9a2f84a..c3db10092 100755
--- a/sensor-iso/build_via_vagrant.sh
+++ b/sensor-iso/build_via_vagrant.sh
@@ -29,7 +29,8 @@ function cleanup_shared_and_docs {
          "$SCRIPT_PATH"/_layouts \
          "$SCRIPT_PATH"/Gemfile \
          "$SCRIPT_PATH"/README.md \
-         "$SCRIPT_PATH"/suricata
+         "$SCRIPT_PATH"/suricata \
+         "$SCRIPT_PATH"/htpdate
 }
 
 unset FORCE_PROVISION
@@ -85,6 +86,7 @@ cp -r "$SCRIPT_PATH"/../shared \
       "$SCRIPT_PATH"/../_includes \
       "$SCRIPT_PATH"/../_layouts \
       "$SCRIPT_PATH"/../Gemfile \
+      "$SCRIPT_PATH"/../malcolm-iso/htpdate \
       "$SCRIPT_PATH"/../README.md "$SCRIPT_PATH"/
 cp "$SCRIPT_PATH"/../scripts/documentation_build.sh "$SCRIPT_PATH"/docs/
 cp "$SCRIPT_PATH"/../scripts/malcolm_utils.py "$SCRIPT_PATH"/shared/bin/
diff --git a/sensor-iso/config/package-lists/net.list.chroot b/sensor-iso/config/package-lists/net.list.chroot
index 3236dc115..03dab33ce 100644
--- a/sensor-iso/config/package-lists/net.list.chroot
+++ b/sensor-iso/config/package-lists/net.list.chroot
@@ -2,7 +2,6 @@ apache2-utils
 ca-certificates
 curl
 ethtool
-htpdate
 iproute2
 iputils-arping
 iputils-ping

From 3b4baf3ff676a77faf488248a58cc04c4f4da8f3 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 14:15:58 -0700
Subject: [PATCH 44/88] idaholab/Malcolm#324 github workflow update

---
 .github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml b/.github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml
index d5ce7f2b2..aade513c9 100644
--- a/.github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml
+++ b/.github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml
@@ -93,7 +93,7 @@ jobs:
       -
         name: Build image
         run: |
-          cp -r ./shared ./docs ./_config.yml ./_includes ./_layouts ./Gemfile ./README.md ./sensor-iso
+          cp -r ./shared ./docs ./_config.yml ./_includes ./_layouts ./Gemfile ./README.md ./malcolm-iso/htpdate ./sensor-iso
           cp ./scripts/malcolm_utils.py ./sensor-iso/shared/bin/
           cp ./scripts/documentation_build.sh ./sensor-iso/docs/
           cp -r ./arkime/patch ./sensor-iso/shared/arkime_patch

From d4c99b05d59c5f6a51e27cbee9c4b424eb8b91c1 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 15:10:59 -0700
Subject: [PATCH 45/88] Fix idaholab/Malcolm#322, update document lookup APIs
 to search either network or host data

---
 Dockerfiles/api.Dockerfile |  4 ++
 api/project/__init__.py    | 96 +++++++++++++++++++++++++++++---------
 api/project/config.py      |  3 ++
 3 files changed, 81 insertions(+), 22 deletions(-)

diff --git a/Dockerfiles/api.Dockerfile b/Dockerfiles/api.Dockerfile
index 7023d633a..e4666a15a 100644
--- a/Dockerfiles/api.Dockerfile
+++ b/Dockerfiles/api.Dockerfile
@@ -47,6 +47,8 @@ ARG FLASK_ENV=production
 ARG ARKIME_FIELDS_INDEX="arkime_fields"
 ARG ARKIME_INDEX_PATTERN="arkime_sessions3-*"
 ARG ARKIME_INDEX_TIME_FIELD="firstPacket"
+ARG BEATS_INDEX_PATTERN="malcolm_beats_*"
+ARG BEATS_INDEX_TIME_FIELD="@timestamp"
 ARG DASHBOARDS_URL="http://dashboards:5601/dashboards"
 ARG OPENSEARCH_URL="http://opensearch:9200"
 ARG OPENSEARCH_PRIMARY="opensearch-local"
@@ -60,6 +62,8 @@ ENV FLASK_ENV $FLASK_ENV
 ENV ARKIME_FIELDS_INDEX $ARKIME_FIELDS_INDEX
 ENV ARKIME_INDEX_PATTERN $ARKIME_INDEX_PATTERN
 ENV ARKIME_INDEX_TIME_FIELD $ARKIME_INDEX_TIME_FIELD
+ENV BEATS_INDEX_PATTERN $BEATS_INDEX_PATTERN
+ENV BEATS_INDEX_TIME_FIELD $BEATS_INDEX_TIME_FIELD
 ENV DASHBOARDS_URL $DASHBOARDS_URL
 ENV OPENSEARCH_URL $OPENSEARCH_URL
 ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY
diff --git a/api/project/__init__.py b/api/project/__init__.py
index da5717a1b..a4a03cf6f 100644
--- a/api/project/__init__.py
+++ b/api/project/__init__.py
@@ -356,6 +356,65 @@ def urls_for_field(fieldname, start_time=None, end_time=None):
     return list(set(translated))
 
 
+def doctype_from_args(args):
+    """returns the value of the doctype field in the args dictionary
+
+    Parameters
+    ----------
+    args : dict
+        The dictionary which should contain 'doctype' value. Missing
+        key returns value of app.config["DOCTYPE_DEFAULT"]
+
+    Returns
+    -------
+    return doctype
+        network|host
+    """
+    return deep_get(args, ["doctype"], app.config["DOCTYPE_DEFAULT"])
+
+
+def index_from_args(args):
+    """returns the appropriate index for searching the document type
+    in the args dictionary
+
+    Parameters
+    ----------
+    args : dict
+        The dictionary which should contain 'doctype' value. Missing
+        key returns value of app.config["ARKIME_INDEX_PATTERN"]
+
+    Returns
+    -------
+    return index
+        app.config["ARKIME_INDEX_PATTERN"] or app.config["BEATS_INDEX_PATTERN"]
+    """
+    return (
+        app.config["BEATS_INDEX_PATTERN"] if doctype_from_args(args) == 'host' else app.config["ARKIME_INDEX_PATTERN"]
+    )
+
+
+def timefield_from_args(args):
+    """returns the appropriate time field for searching the document type
+    in the args dictionary
+
+    Parameters
+    ----------
+    args : dict
+        The dictionary which should contain 'doctype' value. Missing
+        key returns value of app.config["ARKIME_INDEX_TIME_FIELD"]
+
+    Returns
+    -------
+    return index
+        app.config["ARKIME_INDEX_TIME_FIELD"] or app.config["BEATS_INDEX_TIME_FIELD"]
+    """
+    return (
+        app.config["BEATS_INDEX_TIME_FIELD"]
+        if doctype_from_args(args) == 'host'
+        else app.config["ARKIME_INDEX_TIME_FIELD"]
+    )
+
+
 def filtertime(search, args, default_from="1 day ago", default_to="now"):
     """Applies a time filter (inclusive; extracted from request arguments) to an OpenSearch query and
     returns the range as a tuple of integers representing the milliseconds since EPOCH. If
@@ -367,7 +426,7 @@ def filtertime(search, args, default_from="1 day ago", default_to="now"):
     search : opensearchpy.Search
         The object representing the OpenSearch Search query
     args : dict
-        The dictionary which should contain 'from' and 'to' times (see gettimes)
+        The dictionary which should contain 'from' and 'to' times (see gettimes) and 'doctype'
 
     Returns
     -------
@@ -390,7 +449,7 @@ def filtertime(search, args, default_from="1 day ago", default_to="now"):
         search.filter(
             "range",
             **{
-                app.config["ARKIME_INDEX_TIME_FIELD"]: {
+                timefield_from_args(args): {
                     "gte": start_time_ms,
                     "lte": end_time_ms,
                     "format": "epoch_millis",
@@ -460,7 +519,7 @@ def bucketfield(fieldname, current_request, urls=None):
         The name of the field(s) on which to perform the aggregation
     current_request : Request
         The flask Request object being processed (see gettimes/filtertime and getfilters/filtervalues)
-        Uses 'from', 'to', 'limit', and 'filter' from current_request arguments
+        Uses 'from', 'to', 'limit', 'filter', and 'doctype' from current_request arguments
 
     Returns
     -------
@@ -476,11 +535,11 @@ def bucketfield(fieldname, current_request, urls=None):
     global databaseClient
     global SearchClass
 
+    args = get_request_arguments(current_request)
     s = SearchClass(
         using=databaseClient,
-        index=app.config["ARKIME_INDEX_PATTERN"],
+        index=index_from_args(args),
     ).extra(size=0)
-    args = get_request_arguments(current_request)
     start_time_ms, end_time_ms, s = filtertime(s, args)
     filters, s = filtervalues(s, args)
     bucket_limit = int(deep_get(args, ["limit"], app.config["RESULT_SET_LIMIT"]))
@@ -548,22 +607,15 @@ def aggregate(fieldname):
 
 @app.route(
     f"{('/' + app.config['MALCOLM_API_PREFIX']) if app.config['MALCOLM_API_PREFIX'] else ''}/document",
-    defaults={'index': app.config["ARKIME_INDEX_PATTERN"]},
     methods=['GET', 'POST'],
 )
-@app.route(
-    f"{('/' + app.config['MALCOLM_API_PREFIX']) if app.config['MALCOLM_API_PREFIX'] else ''}/document/<index>",
-    methods=['GET', 'POST'],
-)
-def document(index):
+def document():
     """Returns the matching document(s) from the specified index
 
     Parameters
     ----------
-    index : string
-        the name of the index from which to retrieve the document (defaults: arkime_sessions3-*)
     request : Request
-        Uses 'from', 'to', 'limit', and 'filter' from request arguments
+        Uses 'from', 'to', 'limit', 'filter', and 'doctype' from request arguments
 
     Returns
     -------
@@ -578,7 +630,7 @@ def document(index):
     args = get_request_arguments(request)
     s = SearchClass(
         using=databaseClient,
-        index=index,
+        index=index_from_args(args),
     ).extra(size=int(deep_get(args, ["limit"], app.config["RESULT_SET_LIMIT"])))
     start_time_ms, end_time_ms, s = filtertime(s, args, default_from="1970-1-1", default_to="now")
     filters, s = filtervalues(s, args)
@@ -619,7 +671,8 @@ def indices():
 
 
 @app.route(
-    f"{('/' + app.config['MALCOLM_API_PREFIX']) if app.config['MALCOLM_API_PREFIX'] else ''}/fields", methods=['GET']
+    f"{('/' + app.config['MALCOLM_API_PREFIX']) if app.config['MALCOLM_API_PREFIX'] else ''}/fields",
+    methods=['GET', 'POST'],
 )
 def fields():
     """Provide a list of fields Malcolm "knows about" merged from Arkime's field table, Malcolm's
@@ -629,7 +682,7 @@ def fields():
     ----------
     request : Request
         template - template name (default is app.config["MALCOLM_TEMPLATE"])
-        pattern - index pattern name (default is app.config["ARKIME_INDEX_PATTERN"])
+        doctype - network|host
     Returns
     -------
     fields
@@ -640,9 +693,8 @@ def fields():
 
     args = get_request_arguments(request)
 
-    templateName = args['template'] if 'template' in args else app.config["MALCOLM_TEMPLATE"]
-    pattern = args['pattern'] if 'pattern' in args else app.config["ARKIME_INDEX_PATTERN"]
-    arkimeFields = (templateName == app.config["MALCOLM_TEMPLATE"]) and (pattern == app.config["ARKIME_INDEX_PATTERN"])
+    templateName = deep_get(args, ["template"], app.config["MALCOLM_TEMPLATE"])
+    arkimeFields = (templateName == app.config["MALCOLM_TEMPLATE"]) and (doctype_from_args(args) == 'network')
 
     fields = defaultdict(dict)
 
@@ -651,7 +703,7 @@ def fields():
             # get fields from Arkime's fields table
             s = SearchClass(
                 using=databaseClient,
-                index=app.config["ARKIME_FIELDS_INDEX"],
+                index=index_from_args(args),
             ).extra(size=5000)
             for hit in [x['_source'] for x in s.execute().to_dict().get('hits', {}).get('hits', [])]:
                 if (fieldname := deep_get(hit, ['dbField2'])) and (fieldname not in fields):
@@ -716,7 +768,7 @@ def fields():
         for field in requests.get(
             f"{dashboardsUrl}/api/index_patterns/_fields_for_wildcard",
             params={
-                'pattern': pattern,
+                'pattern': index_from_args(args),
                 'meta_fields': ["_source", "_id", "_type", "_index", "_score"],
             },
             auth=opensearchReqHttpAuth,
diff --git a/api/project/config.py b/api/project/config.py
index 968d80788..71e33a3bc 100644
--- a/api/project/config.py
+++ b/api/project/config.py
@@ -8,6 +8,9 @@ class Config(object):
     ARKIME_FIELDS_INDEX = f"{os.getenv('ARKIME_FIELDS_INDEX', 'arkime_fields')}"
     ARKIME_INDEX_PATTERN = f"{os.getenv('ARKIME_INDEX_PATTERN', 'arkime_sessions3-*')}"
     ARKIME_INDEX_TIME_FIELD = f"{os.getenv('ARKIME_INDEX_TIME_FIELD', 'firstPacket')}"
+    BEATS_INDEX_PATTERN = f"{os.getenv('BEATS_INDEX_PATTERN', 'malcolm_beats_*')}"
+    BEATS_INDEX_TIME_FIELD = f"{os.getenv('BEATS_INDEX_TIME_FIELD', '@timestamp')}"
+    DOCTYPE_DEFAULT = f"{os.getenv('DOCTYPE_DEFAULT', 'network')}"
     BUILD_DATE = f"{os.getenv('BUILD_DATE', 'unknown')}"
     DASHBOARDS_URL = f"{os.getenv('DASHBOARDS_URL', 'http://dashboards:5601/dashboards')}"
     MALCOLM_API_PREFIX = f"{os.getenv('MALCOLM_API_PREFIX', 'mapi')}"

From 7b803d43906930444ea3b73994ab159dd2cc5ea9 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 15:17:37 -0700
Subject: [PATCH 46/88] documentation update

---
 docs/api.md | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/docs/api.md b/docs/api.md
index ff33de19b..3de995e6d 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -9,4 +9,11 @@
 * [Version](api-version.md)
 * [Examples](api-examples.md)
 
-Malcolm provides a [REST API]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/api/project/__init__.py) that can be used to programatically query some aspects of Malcolm's status and data. Malcolm's API is not to be confused with the [Viewer API](https://arkime.com/apiv3) provided by Arkime, although there may be some overlap in functionality.
+Malcolm provides a [REST API]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/api/project/__init__.py) that can be used to programatically query some aspects of Malcolm's status and data.
+
+In addition to the items listed above, Malcolm will also forward requests to some of its components' APIs at the following URIs:
+
+* **/mapi/logstash/** - the [Logstash `/_node/stats/` API](https://www.elastic.co/guide/en/logstash/current/node-stats-api.html)
+* **/mapi/opensearch/** - the [OpenSearch API](https://opensearch.org/docs/latest/api-reference/)
+* **/mapi/netbox/** - the [NetBox API](https://demo.netbox.dev/static/docs/rest-api/overview/) (also accessible at `/netbox/api/`)
+* **/arkime/api/** - the [Arkime Viewer API](https://arkime.com/apiv3)

From 5f8726d064bc30f1ab1028ace2176191fdab1493 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Fri, 5 Jan 2024 15:21:32 -0700
Subject: [PATCH 47/88] make malcolm landing page the default for the firefox
 launcher on the desktop (idaholab/Malcolm#252)

---
 .../skel/.config/xfce4/panel/launcher-16/16343116651.desktop    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/malcolm-iso/config/includes.chroot/etc/skel/.config/xfce4/panel/launcher-16/16343116651.desktop b/malcolm-iso/config/includes.chroot/etc/skel/.config/xfce4/panel/launcher-16/16343116651.desktop
index efffe0aba..e7fcbfff7 100644
--- a/malcolm-iso/config/includes.chroot/etc/skel/.config/xfce4/panel/launcher-16/16343116651.desktop
+++ b/malcolm-iso/config/includes.chroot/etc/skel/.config/xfce4/panel/launcher-16/16343116651.desktop
@@ -3,7 +3,7 @@ Name=Firefox
 Comment=Web Browser
 GenericName=Web Browser
 X-GNOME-FullName=Firefox Web Browser
-Exec=/opt/firefox/firefox %u
+Exec=/opt/firefox/firefox https://localhost/
 Terminal=false
 X-MultipleArgs=false
 Type=Application

From 8e714bbc6c712b5866913fb1bf11686233339bc2 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 8 Jan 2024 10:01:30 -0700
Subject: [PATCH 48/88] idaholab/Malcolm#318, third party logs are not parsed
 correctly from fluentbit -> fluentd aggregator -> Malcolm

---
 logstash/pipelines/beats/11_beats_logs.conf | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/logstash/pipelines/beats/11_beats_logs.conf b/logstash/pipelines/beats/11_beats_logs.conf
index e991be9f8..15d46d3a2 100644
--- a/logstash/pipelines/beats/11_beats_logs.conf
+++ b/logstash/pipelines/beats/11_beats_logs.conf
@@ -78,6 +78,21 @@ filter {
     # https://docs.fluentbit.io/manual/
     # https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-tcp.html
 
+    if (![miscbeat][module]) and ([miscbeat][message][module]) {
+      # special case to handle fluent-bit -> fluentd.loomsystems -> filebeat TCP input
+      #   move entire "message" contents up to root
+      # https://github.com/idaholab/Malcolm/issues/318
+      ruby {
+          id => "ruby_miscbeat_message_move_up"
+          code => "
+              event.get('[miscbeat][message]').each { |k, v|
+                  event.set('[miscbeat][' + k + ']', v)
+              }
+              event.remove('[miscbeat][message]')
+          "
+      }
+    }
+
     # set event.module to whatever we set "module" to when running fluentbit
     if ([miscbeat][module]) {
       mutate { id => "mutate_replace_event_module_miscbeat_module"

From 41271feb2e39c812bf11bf72eb36534e2308bdf6 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 8 Jan 2024 10:20:48 -0700
Subject: [PATCH 49/88] idaholab/Malcolm#318, third party logs are not parsed
 correctly from fluentbit -> fluentd aggregator -> Malcolm

---
 logstash/pipelines/beats/11_beats_logs.conf | 29 ++++++++++-----------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/logstash/pipelines/beats/11_beats_logs.conf b/logstash/pipelines/beats/11_beats_logs.conf
index 15d46d3a2..b1ed20bc4 100644
--- a/logstash/pipelines/beats/11_beats_logs.conf
+++ b/logstash/pipelines/beats/11_beats_logs.conf
@@ -8,6 +8,20 @@
 filter {
 
   # move a couple of things identifying the event source from under miscbeat up to the top level
+  if ([miscbeat][message][module]) and (![miscbeat][module])  {
+    # special case to handle fluent-bit -> fluentd.loomsystems -> filebeat TCP input
+    #   move entire "message" contents up to root
+    # https://github.com/idaholab/Malcolm/issues/318
+    ruby {
+        id => "ruby_miscbeat_message_move_up"
+        code => "
+            event.get('[miscbeat][message]').each { |k, v|
+                event.set('[miscbeat][' + k + ']', v)
+            }
+            event.remove('[miscbeat][message]')
+        "
+    }
+  }
   if ([miscbeat][host]) {
     ruby {
       id => "ruby_miscbeat_host_merge"
@@ -78,21 +92,6 @@ filter {
     # https://docs.fluentbit.io/manual/
     # https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-tcp.html
 
-    if (![miscbeat][module]) and ([miscbeat][message][module]) {
-      # special case to handle fluent-bit -> fluentd.loomsystems -> filebeat TCP input
-      #   move entire "message" contents up to root
-      # https://github.com/idaholab/Malcolm/issues/318
-      ruby {
-          id => "ruby_miscbeat_message_move_up"
-          code => "
-              event.get('[miscbeat][message]').each { |k, v|
-                  event.set('[miscbeat][' + k + ']', v)
-              }
-              event.remove('[miscbeat][message]')
-          "
-      }
-    }
-
     # set event.module to whatever we set "module" to when running fluentbit
     if ([miscbeat][module]) {
       mutate { id => "mutate_replace_event_module_miscbeat_module"

From d48c68f9676b20c40cc4a50a77af5dedfc6944a6 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 8 Jan 2024 12:50:08 -0700
Subject: [PATCH 50/88] idaholab/Malcolm#290, add 'all files except common
 plain text files' to file carving option for Malcolm

---
 docs/file-scanning.md                         |    1 +
 docs/kubernetes.md                            |    1 +
 docs/malcolm-hedgehog-e2e-iso-install.md      |    1 +
 docs/ubuntu-install-example.md                |    1 +
 scripts/install.py                            |   27 +-
 .../opt/zeek/share/zeek/site/extractor.zeek   |    4 +-
 .../share/zeek/site/extractor_params.zeek     | 1707 ++++++++---------
 shared/bin/configure-capture.py               |   70 +-
 shared/bin/pcap_processor.py                  |    3 +-
 zeek/config/extractor.zeek                    |    4 +-
 zeek/config/extractor_params.zeek             | 1705 ++++++++--------
 11 files changed, 1619 insertions(+), 1905 deletions(-)

diff --git a/docs/file-scanning.md b/docs/file-scanning.md
index 327845326..30dfbd8a6 100644
--- a/docs/file-scanning.md
+++ b/docs/file-scanning.md
@@ -6,6 +6,7 @@ To specify which files should be extracted, the following values are acceptable
 
 * `none`: no file extraction
 * `interesting`: extraction of files with mime types of common attack vectors
+* `notcommtxt`: extraction of all files except common plain text files
 * `mapped`: extraction of files with recognized mime types
 * `known`: extraction of files for which any mime type can be determined
 * `all`: extract all files
diff --git a/docs/kubernetes.md b/docs/kubernetes.md
index 66a67f07e..0c3cd1da6 100644
--- a/docs/kubernetes.md
+++ b/docs/kubernetes.md
@@ -401,6 +401,7 @@ Enable file extraction with Zeek? (y / N): y
 3: mapped
 4: all
 5: interesting
+6: notcommtxt
 
 Select file extraction behavior (none): 5
 1: quarantined
diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md
index 61c6822bb..1d7308a8d 100644
--- a/docs/malcolm-hedgehog-e2e-iso-install.md
+++ b/docs/malcolm-hedgehog-e2e-iso-install.md
@@ -228,6 +228,7 @@ The [configuration and tuning](malcolm-config.md#ConfigAndTuning) wizard's quest
         + `mapped`: extraction of files with recognized mime types
         + `known`: extraction of files for which any mime type can be determined
         + `all`: extract all files
+        + `notcommtxt`: extract all files except common plain text files
 * **Select file preservation behavior**
     - This determines the behavior for preservation of Zeek-extracted files:
         +  `quarantined`: preserve only flagged files in `./zeek-logs/extract_files/quarantine`
diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md
index 5d5706157..0fbea72a7 100644
--- a/docs/ubuntu-install-example.md
+++ b/docs/ubuntu-install-example.md
@@ -160,6 +160,7 @@ Enable file extraction with Zeek? (y / N): y
 3: mapped
 4: all
 5: interesting
+6: notcommtxt
 Select file extraction behavior (none): 5
 
 1: quarantined
diff --git a/scripts/install.py b/scripts/install.py
index a3f1d09c1..6bfe064d6 100755
--- a/scripts/install.py
+++ b/scripts/install.py
@@ -1184,7 +1184,14 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
         )
 
         # input file extraction parameters
-        allowedFileCarveModes = ('none', 'known', 'mapped', 'all', 'interesting')
+        allowedFileCarveModes = {
+            'none': 'No file extraction',
+            'known': 'Extract recognized MIME types',
+            'mapped': 'Extract MIME types for which file extensions are known',
+            'all': 'Extract all files',
+            'interesting': 'Extract MIME types of common attack vectors',
+            'notcommtxt': 'Extract all except common plain text files',
+        }
         allowedFilePreserveModes = ('quarantined', 'all', 'none')
 
         fileCarveMode = None
@@ -1202,12 +1209,16 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
 
         if InstallerYesOrNo('Enable file extraction with Zeek?', default=bool(fileCarveModeDefault)):
             loopBreaker = CountUntilException(MaxAskForValueCount, 'Invalid file extraction behavior')
-            while fileCarveMode not in allowedFileCarveModes and loopBreaker.increment():
+            while fileCarveMode not in allowedFileCarveModes.keys() and loopBreaker.increment():
                 fileCarveMode = InstallerChooseOne(
                     'Select file extraction behavior',
                     choices=[
-                        (x, '', x == fileCarveModeDefault if fileCarveModeDefault else allowedFileCarveModes[0])
-                        for x in allowedFileCarveModes
+                        (
+                            x,
+                            allowedFileCarveModes[x],
+                            x == fileCarveModeDefault if fileCarveModeDefault else 'none',
+                        )
+                        for x in allowedFileCarveModes.keys()
                     ],
                 )
             if fileCarveMode and (fileCarveMode != 'none'):
@@ -1256,9 +1267,9 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
                         'Download updated file scanner signatures periodically?', default=args.fileScanRuleUpdate
                     )
 
-        if fileCarveMode not in allowedFileCarveModes:
-            fileCarveMode = allowedFileCarveModes[0]
-        if filePreserveMode not in allowedFileCarveModes:
+        if fileCarveMode not in allowedFileCarveModes.keys():
+            fileCarveMode = 'none'
+        if filePreserveMode not in allowedFilePreserveModes:
             filePreserveMode = allowedFilePreserveModes[0]
         if (vtotApiKey is None) or (len(vtotApiKey) <= 1):
             vtotApiKey = '0'
@@ -3685,7 +3696,7 @@ def main():
         '--file-extraction',
         dest='fileCarveMode',
         required=False,
-        metavar='<none|known|mapped|all|interesting>',
+        metavar='<none|known|mapped|all|interesting|notcommtxt>',
         type=str,
         default='none',
         help='Zeek file extraction behavior',
diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek
index 07e745368..643b67bc4 100644
--- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek
+++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek
@@ -17,7 +17,9 @@ event file_sniff(f: fa_file, meta: fa_metadata) {
       # we only want to extract knowns and we know the mime type OR
       ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) ||
       # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped
-      ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map))) {
+      ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) ||
+      # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those
+      ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) {
 
     local ext: string = "";
     if (! meta?$mime_type)
diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
index 2ffb8a8a2..e72dd0f15 100644
--- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
+++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
@@ -3,937 +3,792 @@
 # Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
 
 export {
-  const extractor_extract_none      = "none" &redef;
-  const extractor_extract_known     = "known" &redef;
-  const extractor_extract_mapped    = "mapped" &redef;
-  const extractor_extract_all       = "all" &redef;
+  const extractor_extract_none       = "none" &redef;
+  const extractor_extract_known      = "known" &redef;
+  const extractor_extract_mapped     = "mapped" &redef;
+  const extractor_extract_all        = "all" &redef;
+  const extractor_extract_notcommtxt = "notcommtxt" &redef;
 
   const extractor_always_extract_unknown = F &redef;
 
-  const extractor_max_size_default = 268435456 &redef;
+  const extractor_max_size_default = 134217728 &redef;
+
+  const plain_text_mimes : set[string] = {
+    "application/json",
+    "application/x-x509-ca-cert",
+    "application/xml",
+    "text/plain",
+    "text/xml",
+  } &redef;
 
   # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort
   const extractor_mime_to_ext_map : table[string] of string = {
-    ["application/acad"]= "dwg",
-    ["application/andrew-inset"]= "ez",
-    ["application/annodex"]= "anx",
-    ["application/applixware"]= "aw",
-    ["application/atom+xml"]= "atom",
-    ["application/atomcat+xml"]= "atomcat",
-    ["application/atomsvc+xml"]= "atomsvc",
-    ["application/binary"]= "bin",
-    ["application/ccxml+xml"]= "ccxml",
-    ["application/cdmi-capability"]= "cdmia",
-    ["application/cdmi-container"]= "cdmic",
-    ["application/cdmi-domain"]= "cdmid",
-    ["application/cdmi-object"]= "cdmio",
-    ["application/cdmi-queue"]= "cdmiq",
-    ["application/cu-seeme"]= "cu",
-    ["application/davmount+xml"]= "davmount",
-    ["application/directx"]= "x",
-    ["application/docbook+xml"]= "dbk",
-    ["application/dssc+der"]= "dssc",
-    ["application/dssc+xml"]= "xdssc",
-    ["application/ecmascript"]= "es",
-    ["application/emma+xml"]= "emma",
-    ["application/envoy"]= "evy",
-    ["application/epub+zip"]= "epub",
-    ["application/etl"]= "etl",
-    ["application/exi"]= "exi",
-    ["application/font-sfnt"]= "ttf",
-    ["application/fractals"]= "fif",
-    ["application/fsharp-script"]= "fsscript",
-    ["application/futuresplash"]= "spl",
-    ["application/gml+xml"]= "gml",
-    ["application/gpx+xml"]= "gpx",
-    ["application/gxf"]= "gxf",
-    ["application/hta"]= "hta",
-    ["application/hyperstudio"]= "stk",
-    ["application/inkml+xml"]= "inkml",
-    ["application/internet-property-stream"]= "acx",
-    ["application/ipfix"]= "ipfix",
-    ["application/java-archive"]= "jar",
-    ["application/java-serialized-object"]= "ser",
-    ["application/java-vm"]= "class",
-    ["application/javascript"]= "js",
-    ["application/json"]= "json",
-    ["application/jsonml+json"]= "jsonml",
-    ["application/liquidmotion"]= "jck",
-    ["application/lost+xml"]= "lostxml",
-    ["application/mac-binhex40"]= "hqx",
-    ["application/mac-compactpro"]= "cpt",
-    ["application/mads+xml"]= "mads",
-    ["application/marc"]= "mrc",
-    ["application/marcxml+xml"]= "mrcx",
-    ["application/mathematica"]= "ma",
-    ["application/mathml+xml"]= "mathml",
-    ["application/mbox"]= "mbox",
-    ["application/mediaservercontrol+xml"]= "mscml",
-    ["application/metalink+xml"]= "metalink",
-    ["application/metalink4+xml"]= "meta4",
-    ["application/mets+xml"]= "mets",
-    ["application/mods+xml"]= "mods",
-    ["application/mp21"]= "mp21",
-    ["application/mp4"]= "mp4s",
-    ["application/mpeg"]= "amc",
-    ["application/ms-vsi"]= "vsi",
-    ["application/msaccess"]= "accdb",
-    ["application/msaccess.addin"]= "accda",
-    ["application/msaccess.cab"]= "accdc",
-    ["application/msaccess.ftemplate"]= "accft",
-    ["application/msaccess.runtime"]= "accdr",
-    ["application/msaccess.webapplication"]= "accdw",
-    ["application/msexcel"]= "xls",
-    ["application/mspowerpoint"]= "ppt",
-    ["application/msword"]= "doc",
-    ["application/mxf"]= "mxf",
-    ["application/octet-stream"]= "bin",
-    ["application/oda"]= "oda",
-    ["application/oebps-package+xml"]= "opf",
-    ["application/ogg"]= "ogx",
-    ["application/olescript"]= "axs",
-    ["application/omdoc+xml"]= "omdoc",
-    ["application/onenote"]= "one",
-    ["application/opensearchdescription+xml"]= "osdx",
-    ["application/oxps"]= "oxps",
-    ["application/patch-ops-error+xml"]= "xer",
-    ["application/pdf"]= "pdf",
-    ["application/pgp-encrypted"]= "pgp",
-    ["application/pgp-signature"]= "pgp",
-    ["application/pics-rules"]= "prf",
-    ["application/pkcs10"]= "p10",
-    ["application/pkcs7-mime"]= "p7c",
-    ["application/pkcs7-signature"]= "p7s",
-    ["application/pkcs8"]= "p8",
-    ["application/pkix-attr-cert"]= "ac",
-    ["application/pkix-cert"]= "cer",
-    ["application/pkix-crl"]= "crl",
-    ["application/pkix-pkipath"]= "pkipath",
-    ["application/pkixcmp"]= "pki",
-    ["application/pls+xml"]= "pls",
-    ["application/postscript"]= "ps",
-    ["application/PowerShell"]= "psc1",
-    ["application/prs.cww"]= "cww",
-    ["application/pskc+xml"]= "pskcxml",
-    ["application/rat-file"]= "rat",
-    ["application/rdf+xml"]= "rdf",
-    ["application/reginfo+xml"]= "rif",
-    ["application/relax-ng-compact-syntax"]= "rnc",
-    ["application/resource-lists+xml"]= "rl",
-    ["application/resource-lists-diff+xml"]= "rld",
-    ["application/rls-services+xml"]= "rs",
-    ["application/rpki-ghostbusters"]= "gbr",
-    ["application/rpki-manifest"]= "mft",
-    ["application/rpki-roa"]= "roa",
-    ["application/rsd+xml"]= "rsd",
-    ["application/rss+xml"]= "rss",
-    ["application/rtf"]= "rtf",
-    ["application/sbml+xml"]= "sbml",
-    ["application/scvp-cv-request"]= "scq",
-    ["application/scvp-cv-response"]= "scs",
-    ["application/scvp-vp-request"]= "spq",
-    ["application/scvp-vp-response"]= "spp",
-    ["application/sdp"]= "sdp",
-    ["application/set-payment-initiation"]= "setpay",
-    ["application/set-registration-initiation"]= "setreg",
-    ["application/shf+xml"]= "shf",
-    ["application/smil+xml"]= "smil",
-    ["application/sparql-query"]= "rq",
-    ["application/sparql-results+xml"]= "srx",
-    ["application/srgs"]= "gram",
-    ["application/srgs+xml"]= "grxml",
-    ["application/sru+xml"]= "sru",
-    ["application/ssdl+xml"]= "ssdl",
-    ["application/ssml+xml"]= "ssml",
-    ["application/step"]= "step",
-    ["application/streamingmedia"]= "ssm",
-    ["application/tei+xml"]= "tei",
-    ["application/thraud+xml"]= "tfi",
-    ["application/timestamped-data"]= "tsd",
-    ["application/vnd.3gpp.pic-bw-large"]= "plb",
-    ["application/vnd.3gpp.pic-bw-small"]= "psb",
-    ["application/vnd.3gpp.pic-bw-var"]= "pvb",
-    ["application/vnd.3gpp2.tcap"]= "tcap",
-    ["application/vnd.3m.post-it-notes"]= "pwn",
-    ["application/vnd.accpac.simply.aso"]= "aso",
-    ["application/vnd.accpac.simply.imp"]= "imp",
-    ["application/vnd.acucobol"]= "acu",
-    ["application/vnd.acucorp"]= "acutc",
-    ["application/vnd.adobe.air-application-installer-package+zip"]= "air",
-    ["application/vnd.adobe.formscentral.fcdt"]= "fcdt",
-    ["application/vnd.adobe.fxp"]= "fxp",
-    ["application/vnd.adobe.xdp+xml"]= "xdp",
-    ["application/vnd.adobe.xfdf"]= "xfdf",
-    ["application/vnd.ahead.space"]= "ahead",
-    ["application/vnd.airzip.filesecure.azf"]= "azf",
-    ["application/vnd.airzip.filesecure.azs"]= "azs",
-    ["application/vnd.amazon.ebook"]= "azw",
-    ["application/vnd.americandynamics.acc"]= "acc",
-    ["application/vnd.amiga.ami"]= "ami",
-    ["application/vnd.android.package-archive"]= "apk",
-    ["application/vnd.anser-web-certificate-issue-initiation"]= "cii",
-    ["application/vnd.anser-web-funds-transfer-initiation"]= "fti",
-    ["application/vnd.antix.game-component"]= "atx",
-    ["application/vnd.apple.installer+xml"]= "mpkg",
-    ["application/vnd.apple.mpegurl"]= "m3u8",
-    ["application/vnd.aristanetworks.swi"]= "swi",
-    ["application/vnd.astraea-software.iota"]= "iota",
-    ["application/vnd.audiograph"]= "aep",
-    ["application/vnd.blueice.multipass"]= "mpm",
-    ["application/vnd.bmi"]= "bmi",
-    ["application/vnd.businessobjects"]= "rep",
-    ["application/vnd.chemdraw+xml"]= "cdxml",
-    ["application/vnd.chipnuts.karaoke-mmd"]= "mmd",
-    ["application/vnd.cinderella"]= "cdy",
-    ["application/vnd.claymore"]= "cla",
-    ["application/vnd.cloanto.rp9"]= "rp9",
-    ["application/vnd.clonk.c4group"]= "c4g",
-    ["application/vnd.cluetrust.cartomobile-config"]= "c11amc",
-    ["application/vnd.cluetrust.cartomobile-config-pkg"]= "c11amz",
-    ["application/vnd.commonspace"]= "csp",
-    ["application/vnd.contact.cmsg"]= "cdbcmsg",
-    ["application/vnd.cosmocaller"]= "cmc",
-    ["application/vnd.crick.clicker"]= "clkx",
-    ["application/vnd.crick.clicker.keyboard"]= "clkk",
-    ["application/vnd.crick.clicker.palette"]= "clkp",
-    ["application/vnd.crick.clicker.template"]= "clkt",
-    ["application/vnd.crick.clicker.wordbank"]= "clkw",
-    ["application/vnd.criticaltools.wbs+xml"]= "wbs",
-    ["application/vnd.ctc-posml"]= "pml",
-    ["application/vnd.cups-ppd"]= "ppd",
-    ["application/vnd.curl.car"]= "car",
-    ["application/vnd.curl.pcurl"]= "pcurl",
-    ["application/vnd.dart"]= "dart",
-    ["application/vnd.data-vision.rdz"]= "rdz",
-    ["application/vnd.dece.data"]= "uvd",
-    ["application/vnd.dece.ttml+xml"]= "uvt",
-    ["application/vnd.dece.unspecified"]= "uvx",
-    ["application/vnd.dece.zip"]= "uvz",
-    ["application/vnd.denovo.fcselayout-link"]= "fe_launch",
-    ["application/vnd.dna"]= "dna",
-    ["application/vnd.dolby.mlp"]= "mlp",
-    ["application/vnd.dpgraph"]= "dpg",
-    ["application/vnd.dreamfactory"]= "dfac",
-    ["application/vnd.ds-keypoint"]= "kpxx",
-    ["application/vnd.dvb.ait"]= "ait",
-    ["application/vnd.dvb.service"]= "svc",
-    ["application/vnd.dynageo"]= "geo",
-    ["application/vnd.ecowin.chart"]= "mag",
-    ["application/vnd.enliven"]= "nml",
-    ["application/vnd.epson.esf"]= "esf",
-    ["application/vnd.epson.msf"]= "msf",
-    ["application/vnd.epson.quickanime"]= "qam",
-    ["application/vnd.epson.salt"]= "slt",
-    ["application/vnd.epson.ssf"]= "ssf",
-    ["application/vnd.eszigno3+xml"]= "es3",
-    ["application/vnd.ezpix-album"]= "ez2",
-    ["application/vnd.ezpix-package"]= "ez3",
-    ["application/vnd.fdf"]= "fdf",
-    ["application/vnd.fdsn.mseed"]= "mseed",
-    ["application/vnd.fdsn.seed"]= "seed",
-    ["application/vnd.flographit"]= "gph",
-    ["application/vnd.fluxtime.clip"]= "ftc",
-    ["application/vnd.framemaker"]= "fm",
-    ["application/vnd.frogans.fnc"]= "fnc",
-    ["application/vnd.frogans.ltf"]= "ltf",
-    ["application/vnd.fsc.weblaunch"]= "fsc",
-    ["application/vnd.fujitsu.oasys"]= "oas",
-    ["application/vnd.fujitsu.oasys2"]= "oa2",
-    ["application/vnd.fujitsu.oasys3"]= "oa3",
-    ["application/vnd.fujitsu.oasysgp"]= "fg5",
-    ["application/vnd.fujitsu.oasysprs"]= "bh2",
-    ["application/vnd.fujixerox.ddd"]= "ddd",
-    ["application/vnd.fujixerox.docuworks"]= "xdw",
-    ["application/vnd.fujixerox.docuworks.binder"]= "xbd",
-    ["application/vnd.fuzzysheet"]= "fzs",
-    ["application/vnd.genomatix.tuxedo"]= "txd",
-    ["application/vnd.geogebra.file"]= "ggb",
-    ["application/vnd.geogebra.tool"]= "ggt",
-    ["application/vnd.geometry-explorer"]= "gex",
-    ["application/vnd.geonext"]= "gxt",
-    ["application/vnd.geoplan"]= "g2w",
-    ["application/vnd.geospace"]= "g3w",
-    ["application/vnd.gmx"]= "gmx",
-    ["application/vnd.google-earth.kml+xml"]= "kml",
-    ["application/vnd.google-earth.kmz"]= "kmz",
-    ["application/vnd.grafeq"]= "gqf",
-    ["application/vnd.groove-account"]= "gac",
-    ["application/vnd.groove-help"]= "ghf",
-    ["application/vnd.groove-identity-message"]= "gim",
-    ["application/vnd.groove-injector"]= "grv",
-    ["application/vnd.groove-tool-message"]= "gtm",
-    ["application/vnd.groove-tool-template"]= "tpl",
-    ["application/vnd.groove-vcard"]= "vcg",
-    ["application/vnd.hal+xml"]= "hal",
-    ["application/vnd.handheld-entertainment+xml"]= "zmm",
-    ["application/vnd.hbci"]= "hbci",
-    ["application/vnd.hhe.lesson-player"]= "les",
-    ["application/vnd.hp-hpgl"]= "hpgl",
-    ["application/vnd.hp-hpid"]= "hpid",
-    ["application/vnd.hp-hps"]= "hps",
-    ["application/vnd.hp-jlyt"]= "jlt",
-    ["application/vnd.hp-pcl"]= "pcl",
-    ["application/vnd.hp-pclxl"]= "pclxl",
-    ["application/vnd.hydrostatix.sof-data"]= "sfd-hdstx",
-    ["application/vnd.ibm.minipay"]= "mpy",
-    ["application/vnd.ibm.modcap"]= "afp",
-    ["application/vnd.ibm.rights-management"]= "irm",
-    ["application/vnd.ibm.secure-container"]= "sc",
-    ["application/vnd.iccprofile"]= "icc",
-    ["application/vnd.igloader"]= "igl",
-    ["application/vnd.immervision-ivp"]= "ivp",
-    ["application/vnd.immervision-ivu"]= "ivu",
-    ["application/vnd.insors.igm"]= "igm",
-    ["application/vnd.intercon.formnet"]= "xpw",
-    ["application/vnd.intergeo"]= "i2g",
-    ["application/vnd.intu.qbo"]= "qbo",
-    ["application/vnd.intu.qfx"]= "qfx",
-    ["application/vnd.ipunplugged.rcprofile"]= "rcprofile",
-    ["application/vnd.irepository.package+xml"]= "irp",
-    ["application/vnd.is-xpr"]= "xpr",
-    ["application/vnd.isac.fcs"]= "fcs",
-    ["application/vnd.jam"]= "jam",
-    ["application/vnd.jcp.javame.midlet-rms"]= "rms",
-    ["application/vnd.jisp"]= "jisp",
-    ["application/vnd.joost.joda-archive"]= "joda",
-    ["application/vnd.kahootz"]= "ktz",
-    ["application/vnd.kde.karbon"]= "karbon",
-    ["application/vnd.kde.kchart"]= "chrt",
-    ["application/vnd.kde.kformula"]= "kfo",
-    ["application/vnd.kde.kivio"]= "flw",
-    ["application/vnd.kde.kontour"]= "kon",
-    ["application/vnd.kde.kpresenter"]= "kpt",
-    ["application/vnd.kde.kspread"]= "ksp",
-    ["application/vnd.kde.kword"]= "kwd",
-    ["application/vnd.kenameaapp"]= "htke",
-    ["application/vnd.kidspiration"]= "kia",
-    ["application/vnd.kinar"]= "kne",
-    ["application/vnd.koan"]= "skd",
-    ["application/vnd.kodak-descriptor"]= "sse",
-    ["application/vnd.las.las+xml"]= "lasxml",
-    ["application/vnd.llamagraphics.life-balance.desktop"]= "lbd",
-    ["application/vnd.llamagraphics.life-balance.exchange+xml"]= "lbe",
-    ["application/vnd.lotus-1-2-3"]= "123",
-    ["application/vnd.lotus-approach"]= "apr",
-    ["application/vnd.lotus-freelance"]= "pre",
-    ["application/vnd.lotus-notes"]= "nsf",
-    ["application/vnd.lotus-organizer"]= "org",
-    ["application/vnd.lotus-screencam"]= "scm",
-    ["application/vnd.lotus-wordpro"]= "lwp",
-    ["application/vnd.macports.portpkg"]= "portpkg",
-    ["application/vnd.mcd"]= "mcd",
-    ["application/vnd.medcalcdata"]= "mc1",
-    ["application/vnd.mediastation.cdkey"]= "cdkey",
-    ["application/vnd.mfer"]= "mwf",
-    ["application/vnd.mfmp"]= "mfm",
-    ["application/vnd.micrografx.flo"]= "flo",
-    ["application/vnd.micrografx.igx"]= "igx",
-    ["application/vnd.microsoft.portable-executable"]= "exe",
-    ["application/vnd.mif"]= "mif",
-    ["application/vnd.mobius.daf"]= "daf",
-    ["application/vnd.mobius.dis"]= "dis",
-    ["application/vnd.mobius.mbk"]= "mbk",
-    ["application/vnd.mobius.mqy"]= "mqy",
-    ["application/vnd.mobius.msl"]= "msl",
-    ["application/vnd.mobius.plc"]= "plc",
-    ["application/vnd.mobius.txf"]= "txf",
-    ["application/vnd.mophun.application"]= "mpn",
-    ["application/vnd.mophun.certificate"]= "mpc",
-    ["application/vnd.mozilla.xul+xml"]= "xul",
-    ["application/vnd.ms-artgalry"]= "cil",
-    ["application/vnd.ms-cab-compressed"]= "cab",
-    ["application/vnd.ms-excel"]= "xls",
-    ["application/vnd.ms-excel.addin.macroEnabled.12"]= "xlam",
-    ["application/vnd.ms-excel.addin.macroenabled.12"]= "xlam",
-    ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"]= "xlsb",
-    ["application/vnd.ms-excel.sheet.binary.macroenabled.12"]= "xlsb",
-    ["application/vnd.ms-excel.sheet.macroEnabled.12"]= "xlsm",
-    ["application/vnd.ms-excel.sheet.macroenabled.12"]= "xlsm",
-    ["application/vnd.ms-excel.template.macroEnabled.12"]= "xltm",
-    ["application/vnd.ms-excel.template.macroenabled.12"]= "xltm",
-    ["application/vnd.ms-fontobject"]= "eot",
-    ["application/vnd.ms-htmlhelp"]= "chm",
-    ["application/vnd.ms-ims"]= "ims",
-    ["application/vnd.ms-lrm"]= "lrm",
-    ["application/vnd.ms-mediapackage"]= "mpf",
-    ["application/vnd.ms-office.calx"]= "calx",
-    ["application/vnd.ms-officetheme"]= "thmx",
-    ["application/vnd.ms-outlook"]= "msg",
-    ["application/vnd.ms-pki.certstore"]= "sst",
-    ["application/vnd.ms-pki.pko"]= "pko",
-    ["application/vnd.ms-pki.seccat"]= "cat",
-    ["application/vnd.ms-pki.stl"]= "stl",
-    ["application/vnd.ms-powerpoint"]= "ppt",
-    ["application/vnd.ms-powerpoint.addin.macroEnabled.12"]= "ppam",
-    ["application/vnd.ms-powerpoint.addin.macroenabled.12"]= "ppam",
-    ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"]= "pptm",
-    ["application/vnd.ms-powerpoint.presentation.macroenabled.12"]= "pptm",
-    ["application/vnd.ms-powerpoint.slide.macroEnabled.12"]= "sldm",
-    ["application/vnd.ms-powerpoint.slide.macroenabled.12"]= "sldm",
-    ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"]= "ppsm",
-    ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"]= "ppsm",
-    ["application/vnd.ms-powerpoint.template.macroEnabled.12"]= "potm",
-    ["application/vnd.ms-powerpoint.template.macroenabled.12"]= "potm",
-    ["application/vnd.ms-project"]= "mpt",
-    ["application/vnd.ms-visio.viewer"]= "vdx",
-    ["application/vnd.ms-word.document.macroEnabled.12"]= "docm",
-    ["application/vnd.ms-word.document.macroenabled.12"]= "docm",
-    ["application/vnd.ms-word.template.macroEnabled.12"]= "dotm",
-    ["application/vnd.ms-word.template.macroenabled.12"]= "dotm",
-    ["application/vnd.ms-works"]= "wks",
-    ["application/vnd.ms-wpl"]= "wpl",
-    ["application/vnd.ms-xpsdocument"]= "xps",
-    ["application/vnd.mseq"]= "mseq",
-    ["application/vnd.musician"]= "mus",
-    ["application/vnd.muvee.style"]= "msty",
-    ["application/vnd.mynfc"]= "taglet",
-    ["application/vnd.neurolanguage.nlu"]= "nlu",
-    ["application/vnd.nitf"]= "nitf",
-    ["application/vnd.noblenet-directory"]= "nnd",
-    ["application/vnd.noblenet-sealer"]= "nns",
-    ["application/vnd.noblenet-web"]= "nnw",
-    ["application/vnd.nokia.n-gage.data"]= "ngdat",
-    ["application/vnd.nokia.n-gage.symbian.install"]= "n-gage",
-    ["application/vnd.nokia.radio-preset"]= "rpst",
-    ["application/vnd.nokia.radio-presets"]= "rpss",
-    ["application/vnd.novadigm.edm"]= "edm",
-    ["application/vnd.novadigm.edx"]= "edx",
-    ["application/vnd.novadigm.ext"]= "ext",
-    ["application/vnd.oasis.opendocument.chart"]= "odc",
-    ["application/vnd.oasis.opendocument.chart-template"]= "otc",
-    ["application/vnd.oasis.opendocument.database"]= "odb",
-    ["application/vnd.oasis.opendocument.formula"]= "odf",
-    ["application/vnd.oasis.opendocument.formula-template"]= "odft",
-    ["application/vnd.oasis.opendocument.graphics"]= "odg",
-    ["application/vnd.oasis.opendocument.graphics-template"]= "otg",
-    ["application/vnd.oasis.opendocument.image"]= "odi",
-    ["application/vnd.oasis.opendocument.image-template"]= "oti",
-    ["application/vnd.oasis.opendocument.presentation"]= "odp",
-    ["application/vnd.oasis.opendocument.presentation-template"]= "otp",
-    ["application/vnd.oasis.opendocument.spreadsheet"]= "ods",
-    ["application/vnd.oasis.opendocument.spreadsheet-template"]= "ots",
-    ["application/vnd.oasis.opendocument.text"]= "odt",
-    ["application/vnd.oasis.opendocument.text-master"]= "odm",
-    ["application/vnd.oasis.opendocument.text-template"]= "ott",
-    ["application/vnd.oasis.opendocument.text-web"]= "oth",
-    ["application/vnd.olpc-sugar"]= "xo",
-    ["application/vnd.oma.dd2+xml"]= "dd2",
-    ["application/vnd.openofficeorg.extension"]= "oxt",
-    ["application/vnd.openxmlformats-officedocument.presentationml.presentation"]= "pptx",
-    ["application/vnd.openxmlformats-officedocument.presentationml.slide"]= "sldx",
-    ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"]= "ppsx",
-    ["application/vnd.openxmlformats-officedocument.presentationml.template"]= "potx",
-    ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]= "xlsx",
-    ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"]= "xltx",
-    ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"]= "docx",
-    ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"]= "dotx",
-    ["application/vnd.osgeo.mapguide.package"]= "mgp",
-    ["application/vnd.osgi.dp"]= "dp",
-    ["application/vnd.osgi.subsystem"]= "esa",
-    ["application/vnd.palm"]= "pdb",
-    ["application/vnd.pawaafile"]= "paw",
-    ["application/vnd.pg.format"]= "str",
-    ["application/vnd.pg.osasli"]= "ei6",
-    ["application/vnd.picsel"]= "efif",
-    ["application/vnd.pmi.widget"]= "wg",
-    ["application/vnd.pocketlearn"]= "plf",
-    ["application/vnd.powerbuilder6"]= "pbd",
-    ["application/vnd.previewsystems.box"]= "box",
-    ["application/vnd.proteus.magazine"]= "mgz",
-    ["application/vnd.publishare-delta-tree"]= "qps",
-    ["application/vnd.pvi.ptid1"]= "ptid",
-    ["application/vnd.quark.quarkxpress"]= "qxt",
-    ["application/vnd.realvnc.bed"]= "bed",
-    ["application/vnd.recordare.musicxml"]= "mxl",
-    ["application/vnd.recordare.musicxml+xml"]= "musicxml",
-    ["application/vnd.rig.cryptonote"]= "cryptonote",
-    ["application/vnd.rim.cod"]= "cod",
-    ["application/vnd.rn-realmedia"]= "rm",
-    ["application/vnd.rn-realmedia-vbr"]= "rmvb",
-    ["application/vnd.rn-rn_music_package"]= "rmp",
-    ["application/vnd.route66.link66+xml"]= "link66",
-    ["application/vnd.sailingtracker.track"]= "st",
-    ["application/vnd.seemail"]= "see",
-    ["application/vnd.sema"]= "sema",
-    ["application/vnd.semd"]= "semd",
-    ["application/vnd.semf"]= "semf",
-    ["application/vnd.shana.informed.formdata"]= "ifm",
-    ["application/vnd.shana.informed.formtemplate"]= "itp",
-    ["application/vnd.shana.informed.interchange"]= "iif",
-    ["application/vnd.shana.informed.package"]= "ipk",
-    ["application/vnd.simtech-mindmapper"]= "twd",
-    ["application/vnd.smaf"]= "mmf",
-    ["application/vnd.smart.teacher"]= "teacher",
-    ["application/vnd.solent.sdkm+xml"]= "sdkm",
-    ["application/vnd.spotfire.dxp"]= "dxp",
-    ["application/vnd.spotfire.sfs"]= "sfs",
-    ["application/vnd.stardivision.calc"]= "sdc",
-    ["application/vnd.stardivision.draw"]= "sda",
-    ["application/vnd.stardivision.impress"]= "sdd",
-    ["application/vnd.stardivision.math"]= "smf",
-    ["application/vnd.stardivision.writer"]= "sdw",
-    ["application/vnd.stardivision.writer-global"]= "sgl",
-    ["application/vnd.stepmania.package"]= "smzip",
-    ["application/vnd.stepmania.stepchart"]= "sm",
-    ["application/vnd.sun.xml.calc"]= "sxc",
-    ["application/vnd.sun.xml.calc.template"]= "stc",
-    ["application/vnd.sun.xml.draw"]= "sxd",
-    ["application/vnd.sun.xml.draw.template"]= "std",
-    ["application/vnd.sun.xml.impress"]= "sxi",
-    ["application/vnd.sun.xml.impress.template"]= "sti",
-    ["application/vnd.sun.xml.math"]= "sxm",
-    ["application/vnd.sun.xml.writer"]= "sxw",
-    ["application/vnd.sun.xml.writer.global"]= "sxg",
-    ["application/vnd.sun.xml.writer.template"]= "stw",
-    ["application/vnd.sus-calendar"]= "sus",
-    ["application/vnd.svd"]= "svd",
-    ["application/vnd.symbian.install"]= "sis",
-    ["application/vnd.syncml+xml"]= "xsm",
-    ["application/vnd.syncml.dm+wbxml"]= "bdm",
-    ["application/vnd.syncml.dm+xml"]= "xdm",
-    ["application/vnd.tao.intent-module-archive"]= "tao",
-    ["application/vnd.tcpdump.pcap"]= "pcap",
-    ["application/vnd.tmobile-livetv"]= "tmo",
-    ["application/vnd.trid.tpt"]= "tpt",
-    ["application/vnd.triscape.mxs"]= "mxs",
-    ["application/vnd.trueapp"]= "tra",
-    ["application/vnd.ufdl"]= "ufdl",
-    ["application/vnd.uiq.theme"]= "utz",
-    ["application/vnd.umajin"]= "umj",
-    ["application/vnd.unity"]= "unityweb",
-    ["application/vnd.uoml+xml"]= "uoml",
-    ["application/vnd.vcx"]= "vcx",
-    ["application/vnd.visio"]= "vsd",
-    ["application/vnd.visionary"]= "vis",
-    ["application/vnd.vsf"]= "vsf",
-    ["application/vnd.wap.wbxml"]= "wbxml",
-    ["application/vnd.wap.wmlc"]= "wmlc",
-    ["application/vnd.wap.wmlscriptc"]= "wmlsc",
-    ["application/vnd.webturbo"]= "wtb",
-    ["application/vnd.wolfram.player"]= "nbp",
-    ["application/vnd.wordperfect"]= "wpd",
-    ["application/vnd.wqd"]= "wqd",
-    ["application/vnd.wt.stf"]= "stf",
-    ["application/vnd.xara"]= "xar",
-    ["application/vnd.xfdl"]= "xfdl",
-    ["application/vnd.yamaha.hv-dic"]= "hvd",
-    ["application/vnd.yamaha.hv-script"]= "hvs",
-    ["application/vnd.yamaha.hv-voice"]= "hvp",
-    ["application/vnd.yamaha.openscoreformat"]= "osf",
-    ["application/vnd.yamaha.openscoreformat.osfpvg+xml"]= "osfpvg",
-    ["application/vnd.yamaha.smaf-audio"]= "saf",
-    ["application/vnd.yamaha.smaf-phrase"]= "spf",
-    ["application/vnd.yellowriver-custom-menu"]= "cmp",
-    ["application/vnd.zul"]= "zir",
-    ["application/vnd.zzazz.deck+xml"]= "zaz",
-    ["application/voicexml+xml"]= "vxml",
-    ["application/vsix"]= "vsix",
-    ["application/wasm"]= "wasm",
-    ["application/widget"]= "wgt",
-    ["application/windows-library+xml"]= "library-ms",
-    ["application/windows-search-connector+xml"]= "searchConnector-ms",
-    ["application/winhlp"]= "hlp",
-    ["application/wlmoviemaker"]= "WLMP",
-    ["application/wsdl+xml"]= "wsdl",
-    ["application/wspolicy+xml"]= "wspolicy",
-    ["application/x-7z-compressed"]= "7z",
-    ["application/x-abiword"]= "abw",
-    ["application/x-ace-compressed"]= "ace",
-    ["application/x-apple-diskimage"]= "dmg",
-    ["application/x-authorware-bin"]= "aab",
-    ["application/x-authorware-map"]= "aam",
-    ["application/x-authorware-seg"]= "aas",
-    ["application/x-bcpio"]= "bcpio",
-    ["application/x-bittorrent"]= "torrent",
-    ["application/x-blorb"]= "blorb",
-    ["application/x-bridge-url"]= "adobebridge",
-    ["application/x-bzip"]= "bz",
-    ["application/x-bzip2"]= "bz2",
-    ["application/x-cbr"]= "cbr",
-    ["application/x-cdlink"]= "vcd",
-    ["application/x-cfs-compressed"]= "cfs",
-    ["application/x-chat"]= "chat",
-    ["application/x-chess-pgn"]= "pgn",
-    ["application/x-compress"]= "z",
-    ["application/x-compressed"]= "tgz",
-    ["application/x-conference"]= "nsc",
-    ["application/x-cpio"]= "cpio",
-    ["application/x-csh"]= "csh",
-    ["application/x-debian-package"]= "deb",
-    ["application/x-dgc-compressed"]= "dgc",
-    ["application/x-director"]= "dir",
-    ["application/x-doom"]= "wad",
-    ["application/x-dosexec"]= "exe",
-    ["application/x-dtbncx+xml"]= "ncx",
-    ["application/x-dtbook+xml"]= "dtb",
-    ["application/x-dtbresource+xml"]= "res",
-    ["application/x-dvi"]= "dvi",
-    ["application/x-dxf"]= "dxf",
-    ["application/x-elf"]= "elf",
-    ["application/x-envoy"]= "evy",
-    ["application/x-eva"]= "eva",
-    ["application/x-executable"]= "exe",
-    ["application/x-font-bdf"]= "bdf",
-    ["application/x-font-ghostscript"]= "gsf",
-    ["application/x-font-linux-psf"]= "psf",
-    ["application/x-font-pcf"]= "pcf",
-    ["application/x-font-snf"]= "snf",
-    ["application/x-font-type1"]= "pfm",
-    ["application/x-freearc"]= "arc",
-    ["application/x-futuresplash"]= "spl",
-    ["application/x-gca-compressed"]= "gca",
-    ["application/x-glulx"]= "ulx",
-    ["application/x-gnumeric"]= "gnumeric",
-    ["application/x-gramps-xml"]= "gramps",
-    ["application/x-gtar"]= "gtar",
-    ["application/x-gzip"]= "gz",
-    ["application/x-hdf"]= "hdf",
-    ["application/x-install-instructions"]= "install",
-    ["application/x-internet-signup"]= "isp",
-    ["application/x-iphone"]= "iii",
-    ["application/x-iso9660-image"]= "iso",
-    ["application/x-itunes-ipa"]= "ipa",
-    ["application/x-itunes-ipg"]= "ipg",
-    ["application/x-itunes-ipsw"]= "ipsw",
-    ["application/x-itunes-ite"]= "ite",
-    ["application/x-itunes-itlp"]= "itlp",
-    ["application/x-itunes-itms"]= "itms",
-    ["application/x-itunes-itpc"]= "itpc",
-    ["application/x-java-applet"]= "class",
-    ["application/x-java-jnlp-file"]= "jnlp",
-    ["application/x-koan"]= "skp",
-    ["application/x-latex"]= "latex",
-    ["application/x-lzh-compressed"]= "lzh",
-    ["application/x-mie"]= "mie",
-    ["application/x-miva-compiled"]= "mvc",
-    ["application/x-mmxp"]= "mxp",
-    ["application/x-mobipocket-ebook"]= "mobi",
-    ["application/x-ms-application"]= "application",
-    ["application/x-ms-installer"]= "msi",
-    ["application/x-ms-license"]= "slupkg-ms",
-    ["application/x-ms-manifest"]= "manifest",
-    ["application/x-ms-reader"]= "lit",
-    ["application/x-ms-shortcut"]= "lnk",
-    ["application/x-ms-vsto"]= "vsto",
-    ["application/x-ms-wmd"]= "wmd",
-    ["application/x-ms-wmz"]= "wmz",
-    ["application/x-ms-xbap"]= "xbap",
-    ["application/x-msaccess"]= "mdb",
-    ["application/x-msbinder"]= "obd",
-    ["application/x-mscardfile"]= "crd",
-    ["application/x-msclip"]= "clp",
-    ["application/x-msdos-program"]= "exe",
-    ["application/x-msdownload"]= "exe",
-    ["application/x-msmediaview"]= "mvb",
-    ["application/x-msmetafile"]= "wmf",
-    ["application/x-msmoney"]= "mny",
-    ["application/x-mspublisher"]= "pub",
-    ["application/x-msschedule"]= "scd",
-    ["application/x-msterminal"]= "trm",
-    ["application/x-mswrite"]= "wri",
-    ["application/x-netcdf"]= "cdf",
-    ["application/x-nzb"]= "nzb",
-    ["application/x-oleobject"]= "hhc",
-    ["application/x-pcapng"]= "pcap",
-    ["application/x-pe-app-32bit-i386"]= "exe",
-    ["application/x-perfmon"]= "pmw",
-    ["application/x-perl"]= "pl",
-    ["application/x-pkcs12"]= "p12",
-    ["application/x-pkcs7-certificates"]= "p7b",
-    ["application/x-pkcs7-certreqresp"]= "p7r",
-    ["application/x-podcast"]= "pcast",
-    ["application/x-python"]= "py",
-    ["application/x-quicktimeplayer"]= "qtl",
-    ["application/x-rar-compressed"]= "rar",
-    ["application/x-research-info-systems"]= "ris",
-    ["application/x-safari-safariextz"]= "safariextz",
-    ["application/x-safari-webarchive"]= "webarchive",
-    ["application/x-sgimb"]= "sgimb",
-    ["application/x-sh"]= "sh",
-    ["application/x-shar"]= "shar",
-    ["application/x-sharedlib"]= "lib",
-    ["application/x-shockwave-flash"]= "swf",
-    ["application/x-silverlight-app"]= "xap",
-    ["application/x-smaf"]= "mmf",
-    ["application/x-sql"]= "sql",
-    ["application/x-stuffit"]= "sit",
-    ["application/x-stuffitx"]= "sitx",
-    ["application/x-subrip"]= "srt",
-    ["application/x-sv4cpio"]= "sv4cpio",
-    ["application/x-sv4crc"]= "sv4crc",
-    ["application/x-t3vm-image"]= "t3",
-    ["application/x-tads"]= "gam",
-    ["application/x-tar"]= "tar",
-    ["application/x-tcl"]= "tcl",
-    ["application/x-tex"]= "tex",
-    ["application/x-tex-tfm"]= "tfm",
-    ["application/x-texinfo"]= "texinfo",
-    ["application/x-tgif"]= "obj",
-    ["application/x-troff"]= "tr",
-    ["application/x-troff-man"]= "man",
-    ["application/x-troff-me"]= "me",
-    ["application/x-troff-ms"]= "ms",
-    ["application/x-ustar"]= "ustar",
-    ["application/x-wais-source"]= "src",
-    ["application/x-wlpg-detect"]= "wlpginstall",
-    ["application/x-wlpg3-detect"]= "wlpginstall3",
-    ["application/x-x509-ca-cert"]= "crt",
-    ["application/x-xfig"]= "fig",
-    ["application/x-xliff+xml"]= "xlf",
-    ["application/x-xpinstall"]= "xpi",
-    ["application/x-xz"]= "xz",
-    ["application/x-zip-compressed"]= "zip",
-    ["application/x-zmachine"]= "z1",
-    ["application/xaml+xml"]= "xaml",
-    ["application/xcap-diff+xml"]= "xdf",
-    ["application/xenc+xml"]= "xenc",
-    ["application/xhtml+xml"]= "xhtml",
-    ["application/xml"]= "xml",
-    ["application/xml-dtd"]= "dtd",
-    ["application/xop+xml"]= "xop",
-    ["application/xproc+xml"]= "xpl",
-    ["application/xslt+xml"]= "xslt",
-    ["application/xspf+xml"]= "xspf",
-    ["application/xv+xml"]= "xvml",
-    ["application/yang"]= "yang",
-    ["application/yin+xml"]= "yin",
-    ["application/zip"]= "zip",
-    ["audio/aac"]= "aac",
-    ["audio/ac3"]= "ac3",
-    ["audio/adpcm"]= "adp",
-    ["audio/aiff"]= "aiff",
-    ["audio/annodex"]= "axa",
-    ["audio/audible"]= "aa",
-    ["audio/basic"]= "au",
-    ["audio/flac"]= "flac",
-    ["audio/m4a"]= "m4a",
-    ["audio/m4b"]= "m4b",
-    ["audio/m4p"]= "m4p",
-    ["audio/mid"]= "midi",
-    ["audio/midi"]= "midi",
-    ["audio/mp4"]= "m4a",
-    ["audio/mpeg"]= "mp3",
-    ["audio/ogg"]= "ogg",
-    ["audio/s3m"]= "s3m",
-    ["audio/scpls"]= "pls",
-    ["audio/silk"]= "sil",
-    ["audio/vnd.audible.aax"]= "aax",
-    ["audio/vnd.dece.audio"]= "uva",
-    ["audio/vnd.digital-winds"]= "eol",
-    ["audio/vnd.dlna.adts"]= "ADT",
-    ["audio/vnd.dra"]= "dra",
-    ["audio/vnd.dts"]= "dts",
-    ["audio/vnd.dts.hd"]= "dtshd",
-    ["audio/vnd.lucent.voice"]= "lvp",
-    ["audio/vnd.ms-playready.media.pya"]= "pya",
-    ["audio/vnd.nuera.ecelp4800"]= "ecelp4800",
-    ["audio/vnd.nuera.ecelp7470"]= "ecelp7470",
-    ["audio/vnd.nuera.ecelp9600"]= "ecelp9600",
-    ["audio/vnd.rip"]= "rip",
-    ["audio/wav"]= "wav",
-    ["audio/webm"]= "weba",
-    ["audio/x-aac"]= "aac",
-    ["audio/x-aiff"]= "aiff",
-    ["audio/x-caf"]= "caf",
-    ["audio/x-flac"]= "flac",
-    ["audio/x-gsm"]= "gsm",
-    ["audio/x-m4a"]= "m4a",
-    ["audio/x-m4r"]= "m4r",
-    ["audio/x-matroska"]= "mka",
-    ["audio/x-mpegurl"]= "m3u",
-    ["audio/x-ms-wax"]= "wax",
-    ["audio/x-ms-wma"]= "wma",
-    ["audio/x-pn-realaudio"]= "ra",
-    ["audio/x-pn-realaudio-plugin"]= "rmp",
-    ["audio/x-sd2"]= "sd2",
-    ["audio/x-smd"]= "smd",
-    ["audio/x-wav"]= "wav",
-    ["audio/xm"]= "xm",
-    ["chemical/x-cdx"]= "cdx",
-    ["chemical/x-cif"]= "cif",
-    ["chemical/x-cmdf"]= "cmdf",
-    ["chemical/x-cml"]= "cml",
-    ["chemical/x-csml"]= "csml",
-    ["chemical/x-xyz"]= "xyz",
-    ["drawing/x-dwf"]= "dwf",
-    ["font/collection"]= "ttc",
-    ["font/otf"]= "otf",
-    ["font/ttf"]= "ttf",
-    ["font/woff"]= "woff",
-    ["font/woff2"]= "woff2",
-    ["image/bmp"]= "bmp",
-    ["image/cgm"]= "cgm",
-    ["image/cis-cod"]= "cod",
-    ["image/g3fax"]= "g3",
-    ["image/gif"]= "gif",
-    ["image/ief"]= "ief",
-    ["image/jpeg"]= "jpg",
-    ["image/ktx"]= "ktx",
-    ["image/pict"]= "pict",
-    ["image/pjpeg"]= "jfif",
-    ["image/png"]= "png",
-    ["image/prs.btif"]= "btif",
-    ["image/sgi"]= "sgi",
-    ["image/svg+xml"]= "svg",
-    ["image/tiff"]= "tiff",
-    ["image/vnd.adobe.photoshop"]= "psd",
-    ["image/vnd.dece.graphic"]= "uvg",
-    ["image/vnd.djvu"]= "djvu",
-    ["image/vnd.dvb.subtitle"]= "sub",
-    ["image/vnd.dwg"]= "dwg",
-    ["image/vnd.dxf"]= "dxf",
-    ["image/vnd.fastbidsheet"]= "fbs",
-    ["image/vnd.fpx"]= "fpx",
-    ["image/vnd.fst"]= "fst",
-    ["image/vnd.fujixerox.edmics-mmr"]= "mmr",
-    ["image/vnd.fujixerox.edmics-rlc"]= "rlc",
-    ["image/vnd.ms-modi"]= "mdi",
-    ["image/vnd.ms-photo"]= "wdp",
-    ["image/vnd.net-fpx"]= "npx",
-    ["image/vnd.rn-realflash"]= "rf",
-    ["image/vnd.wap.wbmp"]= "wbmp",
-    ["image/vnd.xiff"]= "xif",
-    ["image/webp"]= "webp",
-    ["image/x-3ds"]= "3ds",
-    ["image/x-cmu-raster"]= "ras",
-    ["image/x-cmx"]= "cmx",
-    ["image/x-freehand"]= "fh",
-    ["image/x-gif"]= "gif",
-    ["image/x-icon"]= "ico",
-    ["image/x-jg"]= "art",
-    ["image/x-jpeg"]= "jpg",
-    ["image/x-macpaint"]= "mac",
-    ["image/x-mrsid-image"]= "sid",
-    ["image/x-pcx"]= "pcx",
-    ["image/x-pict"]= "pic",
-    ["image/x-png"]= "png",
-    ["image/x-portable-anymap"]= "pnm",
-    ["image/x-portable-bitmap"]= "pbm",
-    ["image/x-portable-graymap"]= "pgm",
-    ["image/x-portable-pixmap"]= "ppm",
-    ["image/x-quicktime"]= "qti",
-    ["image/x-rgb"]= "rgb",
-    ["image/x-tga"]= "tga",
-    ["image/x-xbitmap"]= "xbm",
-    ["image/x-xpixmap"]= "xpm",
-    ["image/x-xwindowdump"]= "xwd",
-    ["message/rfc822"]= "eml",
-    ["model/iges"]= "iges",
-    ["model/mesh"]= "mesh",
-    ["model/vnd.collada+xml"]= "dae",
-    ["model/vnd.dwf"]= "dwf",
-    ["model/vnd.gdl"]= "gdl",
-    ["model/vnd.gtw"]= "gtw",
-    ["model/vnd.mts"]= "mts",
-    ["model/vnd.vtu"]= "vtu",
-    ["model/vrml"]= "vrml",
-    ["model/x3d+binary"]= "x3db",
-    ["model/x3d+vrml"]= "x3dv",
-    ["model/x3d+xml"]= "x3d",
-    ["text/cache-manifest"]= "appcache",
-    ["text/calendar"]= "ics",
-    ["text/css"]= "css",
-    ["text/csv"]= "csv",
-    ["text/dlm"]= "dlm",
-    ["text/h323"]= "323",
-    ["text/html"]= "html",
-    ["text/iuls"]= "uls",
-    ["text/jscript"]= "jsx",
-    ["text/n3"]= "n3",
-    ["text/plain"]= "txt",
-    ["text/prs.lines.tag"]= "dsc",
-    ["text/richtext"]= "rtx",
-    ["text/rtf"]= "rtf",
-    ["text/scriptlet"]= "sct",
-    ["text/sgml"]= "sgml",
-    ["text/tab-separated-values"]= "tsv",
-    ["text/troff"]= "tr",
-    ["text/uri-list"]= "uri",
-    ["text/vbscript"]= "vbs",
-    ["text/vcard"]= "vcard",
-    ["text/vnd.curl"]= "curl",
-    ["text/vnd.curl.dcurl"]= "dcurl",
-    ["text/vnd.curl.mcurl"]= "mcurl",
-    ["text/vnd.curl.scurl"]= "scurl",
-    ["text/vnd.dvb.subtitle"]= "sub",
-    ["text/vnd.fly"]= "fly",
-    ["text/vnd.fmi.flexstor"]= "flx",
-    ["text/vnd.graphviz"]= "gv",
-    ["text/vnd.in3d.3dml"]= "3dml",
-    ["text/vnd.in3d.spot"]= "spot",
-    ["text/vnd.sun.j2me.app-descriptor"]= "jad",
-    ["text/vnd.wap.wml"]= "wml",
-    ["text/vnd.wap.wmlscript"]= "wmls",
-    ["text/vtt"]= "vtt",
-    ["text/webviewhtml"]= "htt",
-    ["text/x-asm"]= "asm",
-    ["text/x-c"]= "c",
-    ["text/x-component"]= "htc",
-    ["text/x-fortran"]= "f",
-    ["text/x-hdml"]= "hdml",
-    ["text/x-html-insertion"]= "qhtm",
-    ["text/x-java-source"]= "java",
-    ["text/x-ms-contact"]= "contact",
-    ["text/x-ms-group"]= "group",
-    ["text/x-ms-iqy"]= "iqy",
-    ["text/x-ms-rqy"]= "rqy",
-    ["text/x-nfo"]= "nfo",
-    ["text/x-opml"]= "opml",
-    ["text/x-pascal"]= "pas",
-    ["text/x-setext"]= "etx",
-    ["text/x-sfv"]= "sfv",
-    ["text/x-uuencode"]= "uu",
-    ["text/x-vcalendar"]= "vcs",
-    ["text/x-vcard"]= "vcf",
-    ["text/xml"]= "xml",
-    ["video/3gpp"]= "3gp",
-    ["video/3gpp2"]= "3g2",
-    ["video/annodex"]= "axv",
-    ["video/divx"]= "divx",
-    ["video/h261"]= "h261",
-    ["video/h263"]= "h263",
-    ["video/h264"]= "h264",
-    ["video/jpeg"]= "jpgv",
-    ["video/jpm"]= "jpm",
-    ["video/mj2"]= "mj2",
-    ["video/mp4"]= "mp4",
-    ["video/mpeg"]= "mpg",
-    ["video/ogg"]= "ogv",
-    ["video/quicktime"]= "mov",
-    ["video/vnd.dece.hd"]= "uvh",
-    ["video/vnd.dece.mobile"]= "uvm",
-    ["video/vnd.dece.pd"]= "uvp",
-    ["video/vnd.dece.sd"]= "uvs",
-    ["video/vnd.dece.video"]= "uvv",
-    ["video/vnd.dlna.mpeg-tts"]= "m2t",
-    ["video/vnd.dvb.file"]= "dvb",
-    ["video/vnd.fvt"]= "fvt",
-    ["video/vnd.mpegurl"]= "m4u",
-    ["video/vnd.ms-playready.media.pyv"]= "pyv",
-    ["video/vnd.uvvu.mp4"]= "uvu",
-    ["video/vnd.vivo"]= "viv",
-    ["video/webm"]= "webm",
-    ["video/x-dv"]= "dv",
-    ["video/x-f4v"]= "f4v",
-    ["video/x-fli"]= "fli",
-    ["video/x-flv"]= "flv",
-    ["video/x-ivf"]= "IVF",
-    ["video/x-la-asf"]= "lsf",
-    ["video/x-m4v"]= "m4v",
-    ["video/x-matroska"]= "mkv",
-    ["video/x-matroska-3d"]= "mk3d",
-    ["video/x-mng"]= "mng",
-    ["video/x-ms-asf"]= "asf",
-    ["video/x-ms-vob"]= "vob",
-    ["video/x-ms-wm"]= "wm",
-    ["video/x-ms-wmp"]= "wmp",
-    ["video/x-ms-wmv"]= "wmv",
-    ["video/x-ms-wmx"]= "wmx",
-    ["video/x-ms-wvx"]= "wvx",
-    ["video/x-msvideo"]= "avi",
-    ["video/x-sgi-movie"]= "movie",
-    ["video/x-smv"]= "smv",
-    ["x-conference/x-cooltalk"]= "ice",
-    ["x-world/x-vrml"]= "wrl"
+    ["application/andrew-inset"] = "ez",
+    ["application/applixware"] = "aw",
+    ["application/atomcat+xml"] = "atomcat",
+    ["application/atomsvc+xml"] = "atomsvc",
+    ["application/atom+xml"] = "atom",
+    ["application/ccxml+xml"] = "ccxml",
+    ["application/cdmi-capability"] = "cdmia",
+    ["application/cdmi-container"] = "cdmic",
+    ["application/cdmi-domain"] = "cdmid",
+    ["application/cdmi-object"] = "cdmio",
+    ["application/cdmi-queue"] = "cdmiq",
+    ["application/cu-seeme"] = "cu",
+    ["application/davmount+xml"] = "davmount",
+    ["application/docbook+xml"] = "dbk",
+    ["application/dssc+der"] = "dssc",
+    ["application/dssc+xml"] = "xdssc",
+    ["application/ecmascript"] = "ecma",
+    ["application/emma+xml"] = "emma",
+    ["application/epub+zip"] = "epub",
+    ["application/exi"] = "exi",
+    ["application/font-tdpfr"] = "pfr",
+    ["application/gml+xml"] = "gml",
+    ["application/gpx+xml"] = "gpx",
+    ["application/gxf"] = "gxf",
+    ["application/hyperstudio"] = "stk",
+    ["application/inkml+xml"] = "inkml",
+    ["application/ipfix"] = "ipfix",
+    ["application/java-archive"] = "jar",
+    ["application/java-serialized-object"] = "ser",
+    ["application/java-vm"] = "class",
+    ["application/json"] = "json",
+    ["application/jsonml+json"] = "jsonml",
+    ["application/lost+xml"] = "lostxml",
+    ["application/mac-binhex40"] = "hqx",
+    ["application/mac-compactpro"] = "cpt",
+    ["application/mads+xml"] = "mads",
+    ["application/marc"] = "mrc",
+    ["application/marcxml+xml"] = "mrcx",
+    ["application/mathematica"] = "ma",
+    ["application/mathml+xml"] = "mathml",
+    ["application/mbox"] = "mbox",
+    ["application/mediaservercontrol+xml"] = "mscml",
+    ["application/metalink4+xml"] = "meta4",
+    ["application/metalink+xml"] = "metalink",
+    ["application/mets+xml"] = "mets",
+    ["application/mods+xml"] = "mods",
+    ["application/mp21"] = "mp21",
+    ["application/mp4"] = "mp4s",
+    ["application/msword"] = "doc",
+    ["application/mxf"] = "mxf",
+    ["application/octet-stream"] = "bin",
+    ["application/oda"] = "oda",
+    ["application/oebps-package+xml"] = "opf",
+    ["application/ogg"] = "ogx",
+    ["application/omdoc+xml"] = "omdoc",
+    ["application/onenote"] = "onepkg",
+    ["application/oxps"] = "oxps",
+    ["application/patch-ops-error+xml"] = "xer",
+    ["application/pdf"] = "pdf",
+    ["application/pgp-encrypted"] = "pgp",
+    ["application/pgp-signature"] = "sig",
+    ["application/pics-rules"] = "prf",
+    ["application/pkcs10"] = "p10",
+    ["application/pkcs7-mime"] = "p7m",
+    ["application/pkcs7-signature"] = "p7s",
+    ["application/pkcs8"] = "p8",
+    ["application/pkix-attr-cert"] = "ac",
+    ["application/pkix-cert"] = "cer",
+    ["application/pkixcmp"] = "pki",
+    ["application/pkix-crl"] = "crl",
+    ["application/pkix-pkipath"] = "pkipath",
+    ["application/pls+xml"] = "pls",
+    ["application/postscript"] = "ps",
+    ["application/prs.cww"] = "cww",
+    ["application/pskc+xml"] = "pskcxml",
+    ["application/rdf+xml"] = "rdf",
+    ["application/reginfo+xml"] = "rif",
+    ["application/relax-ng-compact-syntax"] = "rnc",
+    ["application/resource-lists-diff+xml"] = "rld",
+    ["application/resource-lists+xml"] = "rl",
+    ["application/rls-services+xml"] = "rs",
+    ["application/rpki-ghostbusters"] = "gbr",
+    ["application/rpki-manifest"] = "mft",
+    ["application/rpki-roa"] = "roa",
+    ["application/rsd+xml"] = "rsd",
+    ["application/rss+xml"] = "rss",
+    ["application/rtf"] = "rtf",
+    ["application/sbml+xml"] = "sbml",
+    ["application/scvp-cv-request"] = "scq",
+    ["application/scvp-cv-response"] = "scs",
+    ["application/scvp-vp-request"] = "spq",
+    ["application/scvp-vp-response"] = "spp",
+    ["application/sdp"] = "sdp",
+    ["application/set-payment-initiation"] = "setpay",
+    ["application/set-registration-initiation"] = "setreg",
+    ["application/shf+xml"] = "shf",
+    ["application/smil+xml"] = "smil",
+    ["application/sparql-query"] = "rq",
+    ["application/sparql-results+xml"] = "srx",
+    ["application/srgs"] = "gram",
+    ["application/srgs+xml"] = "grxml",
+    ["application/sru+xml"] = "sru",
+    ["application/ssdl+xml"] = "ssdl",
+    ["application/ssml+xml"] = "ssml",
+    ["application/tei+xml"] = "tei",
+    ["application/thraud+xml"] = "tfi",
+    ["application/timestamped-data"] = "tsd",
+    ["application/vnd.3gpp2.tcap"] = "tcap",
+    ["application/vnd.3gpp.pic-bw-large"] = "plb",
+    ["application/vnd.3gpp.pic-bw-small"] = "psb",
+    ["application/vnd.3gpp.pic-bw-var"] = "pvb",
+    ["application/vnd.3m.post-it-notes"] = "pwn",
+    ["application/vnd.accpac.simply.aso"] = "aso",
+    ["application/vnd.accpac.simply.imp"] = "imp",
+    ["application/vnd.acucobol"] = "acu",
+    ["application/vnd.acucorp"] = "acutc",
+    ["application/vnd.adobe.air-application-installer-package+zip"] = "air",
+    ["application/vnd.adobe.formscentral.fcdt"] = "fcdt",
+    ["application/vnd.adobe.fxp"] = "fxp",
+    ["application/vnd.adobe.xdp+xml"] = "xdp",
+    ["application/vnd.adobe.xfdf"] = "xfdf",
+    ["application/vnd.ahead.space"] = "ahead",
+    ["application/vnd.airzip.filesecure.azf"] = "azf",
+    ["application/vnd.airzip.filesecure.azs"] = "azs",
+    ["application/vnd.amazon.ebook"] = "azw",
+    ["application/vnd.americandynamics.acc"] = "acc",
+    ["application/vnd.amiga.ami"] = "ami",
+    ["application/vnd.android.package-archive"] = "apk",
+    ["application/vnd.anser-web-certificate-issue-initiation"] = "cii",
+    ["application/vnd.anser-web-funds-transfer-initiation"] = "fti",
+    ["application/vnd.antix.game-component"] = "atx",
+    ["application/vnd.apple.installer+xml"] = "mpkg",
+    ["application/vnd.apple.mpegurl"] = "m3u8",
+    ["application/vnd.aristanetworks.swi"] = "swi",
+    ["application/vnd.astraea-software.iota"] = "iota",
+    ["application/vnd.audiograph"] = "aep",
+    ["application/vnd.blueice.multipass"] = "mpm",
+    ["application/vnd.bmi"] = "bmi",
+    ["application/vnd.businessobjects"] = "rep",
+    ["application/vnd.chemdraw+xml"] = "cdxml",
+    ["application/vnd.chipnuts.karaoke-mmd"] = "mmd",
+    ["application/vnd.cinderella"] = "cdy",
+    ["application/vnd.claymore"] = "cla",
+    ["application/vnd.cloanto.rp9"] = "rp9",
+    ["application/vnd.clonk.c4group"] = "c4g",
+    ["application/vnd.cluetrust.cartomobile-config"] = "c11amc",
+    ["application/vnd.cluetrust.cartomobile-config-pkg"] = "c11amz",
+    ["application/vnd.commonspace"] = "csp",
+    ["application/vnd.contact.cmsg"] = "cdbcmsg",
+    ["application/vnd.cosmocaller"] = "cmc",
+    ["application/vnd.crick.clicker"] = "clkx",
+    ["application/vnd.crick.clicker.keyboard"] = "clkk",
+    ["application/vnd.crick.clicker.palette"] = "clkp",
+    ["application/vnd.crick.clicker.template"] = "clkt",
+    ["application/vnd.crick.clicker.wordbank"] = "clkw",
+    ["application/vnd.criticaltools.wbs+xml"] = "wbs",
+    ["application/vnd.ctc-posml"] = "pml",
+    ["application/vnd.cups-ppd"] = "ppd",
+    ["application/vnd.curl.car"] = "car",
+    ["application/vnd.curl.pcurl"] = "pcurl",
+    ["application/vnd.dart"] = "dart",
+    ["application/vnd.data-vision.rdz"] = "rdz",
+    ["application/vnd.dece.data"] = "uvd",
+    ["application/vnd.dece.ttml+xml"] = "uvt",
+    ["application/vnd.dece.unspecified"] = "uvx",
+    ["application/vnd.dece.zip"] = "uvz",
+    ["application/vnd.denovo.fcselayout-link"] = "fe_launch",
+    ["application/vnd.dna"] = "dna",
+    ["application/vnd.dolby.mlp"] = "mlp",
+    ["application/vnd.dpgraph"] = "dpg",
+    ["application/vnd.dreamfactory"] = "dfac",
+    ["application/vnd.ds-keypoint"] = "kpxx",
+    ["application/vnd.dvb.ait"] = "ait",
+    ["application/vnd.dvb.service"] = "svc",
+    ["application/vnd.dynageo"] = "geo",
+    ["application/vnd.ecowin.chart"] = "mag",
+    ["application/vnd.enliven"] = "nml",
+    ["application/vnd.epson.esf"] = "esf",
+    ["application/vnd.epson.msf"] = "msf",
+    ["application/vnd.epson.quickanime"] = "qam",
+    ["application/vnd.epson.salt"] = "slt",
+    ["application/vnd.epson.ssf"] = "ssf",
+    ["application/vnd.eszigno3+xml"] = "es3",
+    ["application/vnd.ezpix-album"] = "ez2",
+    ["application/vnd.ezpix-package"] = "ez3",
+    ["application/vnd.fdf"] = "fdf",
+    ["application/vnd.fdsn.mseed"] = "mseed",
+    ["application/vnd.fdsn.seed"] = "seed",
+    ["application/vnd.flographit"] = "gph",
+    ["application/vnd.fluxtime.clip"] = "ftc",
+    ["application/vnd.framemaker"] = "frame",
+    ["application/vnd.frogans.fnc"] = "fnc",
+    ["application/vnd.frogans.ltf"] = "ltf",
+    ["application/vnd.fsc.weblaunch"] = "fsc",
+    ["application/vnd.fujitsu.oasys2"] = "oa2",
+    ["application/vnd.fujitsu.oasys3"] = "oa3",
+    ["application/vnd.fujitsu.oasysgp"] = "fg5",
+    ["application/vnd.fujitsu.oasys"] = "oas",
+    ["application/vnd.fujitsu.oasysprs"] = "bh2",
+    ["application/vnd.fujixerox.ddd"] = "ddd",
+    ["application/vnd.fujixerox.docuworks.binder"] = "xbd",
+    ["application/vnd.fujixerox.docuworks"] = "xdw",
+    ["application/vnd.fuzzysheet"] = "fzs",
+    ["application/vnd.genomatix.tuxedo"] = "txd",
+    ["application/vnd.geogebra.file"] = "ggb",
+    ["application/vnd.geogebra.slides"] = "ggs",
+    ["application/vnd.geogebra.tool"] = "ggt",
+    ["application/vnd.geometry-explorer"] = "gex",
+    ["application/vnd.geonext"] = "gxt",
+    ["application/vnd.geoplan"] = "g2w",
+    ["application/vnd.geospace"] = "g3w",
+    ["application/vnd.gmx"] = "gmx",
+    ["application/vnd.google-earth.kml+xml"] = "kml",
+    ["application/vnd.google-earth.kmz"] = "kmz",
+    ["application/vnd.grafeq"] = "gqf",
+    ["application/vnd.groove-account"] = "gac",
+    ["application/vnd.groove-help"] = "ghf",
+    ["application/vnd.groove-identity-message"] = "gim",
+    ["application/vnd.groove-injector"] = "grv",
+    ["application/vnd.groove-tool-message"] = "gtm",
+    ["application/vnd.groove-tool-template"] = "tpl",
+    ["application/vnd.groove-vcard"] = "vcg",
+    ["application/vnd.hal+xml"] = "hal",
+    ["application/vnd.handheld-entertainment+xml"] = "zmm",
+    ["application/vnd.hbci"] = "hbci",
+    ["application/vnd.hhe.lesson-player"] = "les",
+    ["application/vnd.hp-hpgl"] = "hpgl",
+    ["application/vnd.hp-hpid"] = "hpid",
+    ["application/vnd.hp-hps"] = "hps",
+    ["application/vnd.hp-jlyt"] = "jlt",
+    ["application/vnd.hp-pcl"] = "pcl",
+    ["application/vnd.hp-pclxl"] = "pclxl",
+    ["application/vnd.hydrostatix.sof-data"] = "sfd-hdstx",
+    ["application/vnd.ibm.minipay"] = "mpy",
+    ["application/vnd.ibm.modcap"] = "afp",
+    ["application/vnd.ibm.rights-management"] = "irm",
+    ["application/vnd.ibm.secure-container"] = "sc",
+    ["application/vnd.iccprofile"] = "icc",
+    ["application/vnd.igloader"] = "igl",
+    ["application/vnd.immervision-ivp"] = "ivp",
+    ["application/vnd.immervision-ivu"] = "ivu",
+    ["application/vnd.insors.igm"] = "igm",
+    ["application/vnd.intercon.formnet"] = "xpw",
+    ["application/vnd.intergeo"] = "i2g",
+    ["application/vnd.intu.qbo"] = "qbo",
+    ["application/vnd.intu.qfx"] = "qfx",
+    ["application/vnd.ipunplugged.rcprofile"] = "rcprofile",
+    ["application/vnd.irepository.package+xml"] = "irp",
+    ["application/vnd.isac.fcs"] = "fcs",
+    ["application/vnd.is-xpr"] = "xpr",
+    ["application/vnd.jam"] = "jam",
+    ["application/vnd.jcp.javame.midlet-rms"] = "rms",
+    ["application/vnd.jisp"] = "jisp",
+    ["application/vnd.joost.joda-archive"] = "joda",
+    ["application/vnd.kahootz"] = "ktz",
+    ["application/vnd.kde.karbon"] = "karbon",
+    ["application/vnd.kde.kchart"] = "chrt",
+    ["application/vnd.kde.kformula"] = "kfo",
+    ["application/vnd.kde.kivio"] = "flw",
+    ["application/vnd.kde.kontour"] = "kon",
+    ["application/vnd.kde.kpresenter"] = "kpr",
+    ["application/vnd.kde.kspread"] = "ksp",
+    ["application/vnd.kde.kword"] = "kwd",
+    ["application/vnd.kenameaapp"] = "htke",
+    ["application/vnd.kidspiration"] = "kia",
+    ["application/vnd.kinar"] = "kne",
+    ["application/vnd.koan"] = "skd",
+    ["application/vnd.kodak-descriptor"] = "sse",
+    ["application/vnd.las.las+xml"] = "lasxml",
+    ["application/vnd.llamagraphics.life-balance.desktop"] = "lbd",
+    ["application/vnd.llamagraphics.life-balance.exchange+xml"] = "lbe",
+    ["application/vnd.lotus-1-2-3"] = "123",
+    ["application/vnd.lotus-approach"] = "apr",
+    ["application/vnd.lotus-freelance"] = "pre",
+    ["application/vnd.lotus-notes"] = "nsf",
+    ["application/vnd.lotus-organizer"] = "org",
+    ["application/vnd.lotus-screencam"] = "scm",
+    ["application/vnd.lotus-wordpro"] = "lwp",
+    ["application/vnd.macports.portpkg"] = "portpkg",
+    ["application/vnd.mcd"] = "mcd",
+    ["application/vnd.medcalcdata"] = "mc1",
+    ["application/vnd.mediastation.cdkey"] = "cdkey",
+    ["application/vnd.mfer"] = "mwf",
+    ["application/vnd.mfmp"] = "mfm",
+    ["application/vnd.micrografx.flo"] = "flo",
+    ["application/vnd.micrografx.igx"] = "igx",
+    ["application/vnd.mif"] = "mif",
+    ["application/vnd.mobius.daf"] = "daf",
+    ["application/vnd.mobius.dis"] = "dis",
+    ["application/vnd.mobius.mbk"] = "mbk",
+    ["application/vnd.mobius.mqy"] = "mqy",
+    ["application/vnd.mobius.msl"] = "msl",
+    ["application/vnd.mobius.plc"] = "plc",
+    ["application/vnd.mobius.txf"] = "txf",
+    ["application/vnd.mophun.application"] = "mpn",
+    ["application/vnd.mophun.certificate"] = "mpc",
+    ["application/vnd.mozilla.xul+xml"] = "xul",
+    ["application/vnd.ms-artgalry"] = "cil",
+    ["application/vnd.ms-cab-compressed"] = "cab",
+    ["application/vnd.mseq"] = "mseq",
+    ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam",
+    ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb",
+    ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm",
+    ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm",
+    ["application/vnd.ms-excel"] = "xls",
+    ["application/vnd.ms-fontobject"] = "eot",
+    ["application/vnd.ms-htmlhelp"] = "chm",
+    ["application/vnd.ms-ims"] = "ims",
+    ["application/vnd.ms-lrm"] = "lrm",
+    ["application/vnd.ms-officetheme"] = "thmx",
+    ["application/vnd.ms-pki.seccat"] = "cat",
+    ["application/vnd.ms-pki.stl"] = "stl",
+    ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam",
+    ["application/vnd.ms-powerpoint"] = "ppt",
+    ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm",
+    ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm",
+    ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm",
+    ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm",
+    ["application/vnd.ms-project"] = "mpp",
+    ["application/vnd.ms-word.document.macroenabled.12"] = "docm",
+    ["application/vnd.ms-word.template.macroenabled.12"] = "dotm",
+    ["application/vnd.ms-works"] = "wps",
+    ["application/vnd.ms-wpl"] = "wpl",
+    ["application/vnd.ms-xpsdocument"] = "xps",
+    ["application/vnd.musician"] = "mus",
+    ["application/vnd.muvee.style"] = "msty",
+    ["application/vnd.mynfc"] = "taglet",
+    ["application/vnd.neurolanguage.nlu"] = "nlu",
+    ["application/vnd.nitf"] = "nitf",
+    ["application/vnd.noblenet-directory"] = "nnd",
+    ["application/vnd.noblenet-sealer"] = "nns",
+    ["application/vnd.noblenet-web"] = "nnw",
+    ["application/vnd.nokia.n-gage.data"] = "ngdat",
+    ["application/vnd.nokia.n-gage.symbian.install"] = "n-gage",
+    ["application/vnd.nokia.radio-preset"] = "rpst",
+    ["application/vnd.nokia.radio-presets"] = "rpss",
+    ["application/vnd.novadigm.edm"] = "edm",
+    ["application/vnd.novadigm.edx"] = "edx",
+    ["application/vnd.novadigm.ext"] = "ext",
+    ["application/vnd.oasis.opendocument.chart"] = "odc",
+    ["application/vnd.oasis.opendocument.chart-template"] = "otc",
+    ["application/vnd.oasis.opendocument.database"] = "odb",
+    ["application/vnd.oasis.opendocument.formula"] = "odf",
+    ["application/vnd.oasis.opendocument.formula-template"] = "odft",
+    ["application/vnd.oasis.opendocument.graphics"] = "odg",
+    ["application/vnd.oasis.opendocument.graphics-template"] = "otg",
+    ["application/vnd.oasis.opendocument.image"] = "odi",
+    ["application/vnd.oasis.opendocument.image-template"] = "oti",
+    ["application/vnd.oasis.opendocument.presentation"] = "odp",
+    ["application/vnd.oasis.opendocument.presentation-template"] = "otp",
+    ["application/vnd.oasis.opendocument.spreadsheet"] = "ods",
+    ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots",
+    ["application/vnd.oasis.opendocument.text-master"] = "odm",
+    ["application/vnd.oasis.opendocument.text"] = "odt",
+    ["application/vnd.oasis.opendocument.text-template"] = "ott",
+    ["application/vnd.oasis.opendocument.text-web"] = "oth",
+    ["application/vnd.olpc-sugar"] = "xo",
+    ["application/vnd.oma.dd2+xml"] = "dd2",
+    ["application/vnd.openofficeorg.extension"] = "oxt",
+    ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx",
+    ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx",
+    ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx",
+    ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx",
+    ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx",
+    ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx",
+    ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"] = "docx",
+    ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"] = "dotx",
+    ["application/vnd.osgeo.mapguide.package"] = "mgp",
+    ["application/vnd.osgi.dp"] = "dp",
+    ["application/vnd.osgi.subsystem"] = "esa",
+    ["application/vnd.palm"] = "pdb",
+    ["application/vnd.pawaafile"] = "paw",
+    ["application/vnd.pg.format"] = "str",
+    ["application/vnd.pg.osasli"] = "ei6",
+    ["application/vnd.picsel"] = "efif",
+    ["application/vnd.pmi.widget"] = "wg",
+    ["application/vnd.pocketlearn"] = "plf",
+    ["application/vnd.powerbuilder6"] = "pbd",
+    ["application/vnd.previewsystems.box"] = "box",
+    ["application/vnd.proteus.magazine"] = "mgz",
+    ["application/vnd.publishare-delta-tree"] = "qps",
+    ["application/vnd.pvi.ptid1"] = "ptid",
+    ["application/vnd.quark.quarkxpress"] = "qxd",
+    ["application/vnd.realvnc.bed"] = "bed",
+    ["application/vnd.recordare.musicxml"] = "mxl",
+    ["application/vnd.recordare.musicxml+xml"] = "musicxml",
+    ["application/vnd.rig.cryptonote"] = "cryptonote",
+    ["application/vnd.rim.cod"] = "cod",
+    ["application/vnd.rn-realmedia"] = "rm",
+    ["application/vnd.rn-realmedia-vbr"] = "rmvb",
+    ["application/vnd.route66.link66+xml"] = "link66",
+    ["application/vnd.sailingtracker.track"] = "st",
+    ["application/vnd.seemail"] = "see",
+    ["application/vnd.sema"] = "sema",
+    ["application/vnd.semd"] = "semd",
+    ["application/vnd.semf"] = "semf",
+    ["application/vnd.shana.informed.formdata"] = "ifm",
+    ["application/vnd.shana.informed.formtemplate"] = "itp",
+    ["application/vnd.shana.informed.interchange"] = "iif",
+    ["application/vnd.shana.informed.package"] = "ipk",
+    ["application/vnd.simtech-mindmapper"] = "twd",
+    ["application/vnd.smaf"] = "mmf",
+    ["application/vnd.smart.teacher"] = "teacher",
+    ["application/vnd.solent.sdkm+xml"] = "sdkm",
+    ["application/vnd.spotfire.dxp"] = "dxp",
+    ["application/vnd.spotfire.sfs"] = "sfs",
+    ["application/vnd.stardivision.calc"] = "sdc",
+    ["application/vnd.stardivision.draw"] = "sda",
+    ["application/vnd.stardivision.impress"] = "sdd",
+    ["application/vnd.stardivision.math"] = "smf",
+    ["application/vnd.stardivision.writer-global"] = "sgl",
+    ["application/vnd.stardivision.writer"] = "sdw",
+    ["application/vnd.stepmania.package"] = "smzip",
+    ["application/vnd.stepmania.stepchart"] = "sm",
+    ["application/vnd.sun.xml.calc"] = "sxc",
+    ["application/vnd.sun.xml.calc.template"] = "stc",
+    ["application/vnd.sun.xml.draw"] = "sxd",
+    ["application/vnd.sun.xml.draw.template"] = "std",
+    ["application/vnd.sun.xml.impress"] = "sxi",
+    ["application/vnd.sun.xml.impress.template"] = "sti",
+    ["application/vnd.sun.xml.math"] = "sxm",
+    ["application/vnd.sun.xml.writer.global"] = "sxg",
+    ["application/vnd.sun.xml.writer"] = "sxw",
+    ["application/vnd.sun.xml.writer.template"] = "stw",
+    ["application/vnd.sus-calendar"] = "sus",
+    ["application/vnd.svd"] = "svd",
+    ["application/vnd.symbian.install"] = "sis",
+    ["application/vnd.syncml.dm+wbxml"] = "bdm",
+    ["application/vnd.syncml.dm+xml"] = "xdm",
+    ["application/vnd.syncml+xml"] = "xsm",
+    ["application/vnd.tao.intent-module-archive"] = "tao",
+    ["application/vnd.tcpdump.pcap"] = "pcap",
+    ["application/vnd.tmobile-livetv"] = "tmo",
+    ["application/vnd.trid.tpt"] = "tpt",
+    ["application/vnd.triscape.mxs"] = "mxs",
+    ["application/vnd.trueapp"] = "tra",
+    ["application/vnd.ufdl"] = "ufdl",
+    ["application/vnd.uiq.theme"] = "utz",
+    ["application/vnd.umajin"] = "umj",
+    ["application/vnd.unity"] = "unityweb",
+    ["application/vnd.uoml+xml"] = "uoml",
+    ["application/vnd.vcx"] = "vcx",
+    ["application/vnd.visionary"] = "vis",
+    ["application/vnd.visio"] = "vsd",
+    ["application/vnd.vsf"] = "vsf",
+    ["application/vnd.wap.wbxml"] = "wbxml",
+    ["application/vnd.wap.wmlc"] = "wmlc",
+    ["application/vnd.wap.wmlscriptc"] = "wmlsc",
+    ["application/vnd.webturbo"] = "wtb",
+    ["application/vnd.wolfram.player"] = "nbp",
+    ["application/vnd.wordperfect"] = "wpd",
+    ["application/vnd.wqd"] = "wqd",
+    ["application/vnd.wt.stf"] = "stf",
+    ["application/vnd.xara"] = "xar",
+    ["application/vnd.xfdl"] = "xfdl",
+    ["application/vnd.yamaha.hv-dic"] = "hvd",
+    ["application/vnd.yamaha.hv-script"] = "hvs",
+    ["application/vnd.yamaha.hv-voice"] = "hvp",
+    ["application/vnd.yamaha.openscoreformat"] = "osf",
+    ["application/vnd.yamaha.openscoreformat.osfpvg+xml"] = "osfpvg",
+    ["application/vnd.yamaha.smaf-audio"] = "saf",
+    ["application/vnd.yamaha.smaf-phrase"] = "spf",
+    ["application/vnd.yellowriver-custom-menu"] = "cmp",
+    ["application/vnd.zul"] = "zir",
+    ["application/vnd.zzazz.deck+xml"] = "zaz",
+    ["application/voicexml+xml"] = "vxml",
+    ["application/wasm"] = "wasm",
+    ["application/widget"] = "wgt",
+    ["application/winhlp"] = "hlp",
+    ["application/wsdl+xml"] = "wsdl",
+    ["application/wspolicy+xml"] = "wspolicy",
+    ["application/x-7z-compressed"] = "7z",
+    ["application/x-abiword"] = "abw",
+    ["application/x-ace-compressed"] = "ace",
+    ["application/xaml+xml"] = "xaml",
+    ["application/x-apple-diskimage"] = "dmg",
+    ["application/x-authorware-bin"] = "aab",
+    ["application/x-bcpio"] = "bcpio",
+    ["application/x-bittorrent"] = "torrent",
+    ["application/x-blorb"] = "blorb",
+    ["application/x-bzip2"] = "bz2",
+    ["application/x-bzip"] = "bz",
+    ["application/xcap-diff+xml"] = "xdf",
+    ["application/x-cbr"] = "cbr",
+    ["application/x-cdlink"] = "vcd",
+    ["application/x-cfs-compressed"] = "cfs",
+    ["application/x-chat"] = "chat",
+    ["application/x-chess-pgn"] = "pgn",
+    ["application/x-conference"] = "nsc",
+    ["application/x-cpio"] = "cpio",
+    ["application/x-csh"] = "csh",
+    ["application/x-debian-package"] = "deb",
+    ["application/x-dgc-compressed"] = "dgc",
+    ["application/x-director"] = "dir",
+    ["application/x-doom"] = "wad",
+    ["application/x-dtbncx+xml"] = "ncx",
+    ["application/x-dtbook+xml"] = "dtb",
+    ["application/x-dtbresource+xml"] = "res",
+    ["application/x-dvi"] = "dvi",
+    ["application/xenc+xml"] = "xenc",
+    ["application/x-envoy"] = "evy",
+    ["application/x-eva"] = "eva",
+    ["application/x-font-bdf"] = "bdf",
+    ["application/x-font-ghostscript"] = "gsf",
+    ["application/x-font-linux-psf"] = "psf",
+    ["application/x-font-pcf"] = "pcf",
+    ["application/x-font-snf"] = "snf",
+    ["application/x-font-type1"] = "pfm",
+    ["application/x-freearc"] = "arc",
+    ["application/x-futuresplash"] = "spl",
+    ["application/x-gca-compressed"] = "gca",
+    ["application/x-glulx"] = "ulx",
+    ["application/x-gnumeric"] = "gnumeric",
+    ["application/x-gramps-xml"] = "gramps",
+    ["application/x-gtar"] = "gtar",
+    ["application/x-hdf"] = "hdf",
+    ["application/xhtml+xml"] = "xhtml",
+    ["application/x-install-instructions"] = "install",
+    ["application/x-iso9660-image"] = "iso",
+    ["application/x-java-jnlp-file"] = "jnlp",
+    ["application/x-latex"] = "latex",
+    ["application/x-lzh-compressed"] = "lzh",
+    ["application/x-mie"] = "mie",
+    ["application/xml-dtd"] = "dtd",
+    ["application/xml"] = "xml",
+    ["application/x-mobipocket-ebook"] = "mobi",
+    ["application/x-msaccess"] = "mdb",
+    ["application/x-ms-application"] = "application",
+    ["application/x-msbinder"] = "obd",
+    ["application/x-mscardfile"] = "crd",
+    ["application/x-msclip"] = "clp",
+    ["application/x-msdownload"] = "msi",
+    ["application/x-msmediaview"] = "mvb",
+    ["application/x-msmetafile"] = "wmf",
+    ["application/x-msmoney"] = "mny",
+    ["application/x-mspublisher"] = "pub",
+    ["application/x-msschedule"] = "scd",
+    ["application/x-ms-shortcut"] = "lnk",
+    ["application/x-msterminal"] = "trm",
+    ["application/x-ms-wmd"] = "wmd",
+    ["application/x-ms-wmz"] = "wmz",
+    ["application/x-mswrite"] = "wri",
+    ["application/x-ms-xbap"] = "xbap",
+    ["application/x-netcdf"] = "cdf",
+    ["application/x-nzb"] = "nzb",
+    ["application/xop+xml"] = "xop",
+    ["application/x-pkcs12"] = "p12",
+    ["application/x-pkcs7-certificates"] = "p7b",
+    ["application/x-pkcs7-certreqresp"] = "p7r",
+    ["application/xproc+xml"] = "xpl",
+    ["application/x-rar-compressed"] = "rar",
+    ["application/x-research-info-systems"] = "ris",
+    ["application/x-shar"] = "shar",
+    ["application/x-shockwave-flash"] = "swf",
+    ["application/x-sh"] = "sh",
+    ["application/x-silverlight-app"] = "xap",
+    ["application/xslt+xml"] = "xslt",
+    ["application/xspf+xml"] = "xspf",
+    ["application/x-sql"] = "sql",
+    ["application/x-stuffit"] = "sit",
+    ["application/x-stuffitx"] = "sitx",
+    ["application/x-subrip"] = "srt",
+    ["application/x-sv4cpio"] = "sv4cpio",
+    ["application/x-sv4crc"] = "sv4crc",
+    ["application/x-t3vm-image"] = "t3",
+    ["application/x-tads"] = "gam",
+    ["application/x-tar"] = "tar",
+    ["application/x-tcl"] = "tcl",
+    ["application/x-texinfo"] = "texinfo",
+    ["application/x-tex"] = "tex",
+    ["application/x-tex-tfm"] = "tfm",
+    ["application/x-tgif"] = "obj",
+    ["application/x-ustar"] = "ustar",
+    ["application/xv+xml"] = "xvml",
+    ["application/x-wais-source"] = "src",
+    ["application/x-x509-ca-cert"] = "crt",
+    ["application/x-xfig"] = "fig",
+    ["application/x-xliff+xml"] = "xlf",
+    ["application/x-xpinstall"] = "xpi",
+    ["application/x-xz"] = "xz",
+    ["application/x-zmachine"] = "z1",
+    ["application/yang"] = "yang",
+    ["application/yin+xml"] = "yin",
+    ["application/zip"] = "zip",
+    ["audio/adpcm"] = "adp",
+    ["audio/basic"] = "au",
+    ["audio/midi"] = "mid",
+    ["audio/mp4"] = "m4a",
+    ["audio/mpeg"] = "mpga",
+    ["audio/ogg"] = "ogg",
+    ["audio/s3m"] = "s3m",
+    ["audio/silk"] = "sil",
+    ["audio/vnd.dece.audio"] = "uva",
+    ["audio/vnd.digital-winds"] = "eol",
+    ["audio/vnd.dra"] = "dra",
+    ["audio/vnd.dts"] = "dts",
+    ["audio/vnd.dts.hd"] = "dtshd",
+    ["audio/vnd.lucent.voice"] = "lvp",
+    ["audio/vnd.ms-playready.media.pya"] = "pya",
+    ["audio/vnd.nuera.ecelp4800"] = "ecelp4800",
+    ["audio/vnd.nuera.ecelp7470"] = "ecelp7470",
+    ["audio/vnd.nuera.ecelp9600"] = "ecelp9600",
+    ["audio/vnd.rip"] = "rip",
+    ["audio/webm"] = "weba",
+    ["audio/x-aac"] = "aac",
+    ["audio/x-aiff"] = "aiff",
+    ["audio/x-caf"] = "caf",
+    ["audio/x-flac"] = "flac",
+    ["audio/x-matroska"] = "mka",
+    ["audio/x-mpegurl"] = "m3u",
+    ["audio/x-ms-wax"] = "wax",
+    ["audio/x-ms-wma"] = "wma",
+    ["audio/xm"] = "xm",
+    ["audio/x-pn-realaudio-plugin"] = "rmp",
+    ["audio/x-pn-realaudio"] = "ra",
+    ["audio/x-wav"] = "wav",
+    ["chemical/x-cdx"] = "cdx",
+    ["chemical/x-cif"] = "cif",
+    ["chemical/x-cmdf"] = "cmdf",
+    ["chemical/x-cml"] = "cml",
+    ["chemical/x-csml"] = "csml",
+    ["chemical/x-xyz"] = "xyz",
+    ["font/collection"] = "ttc",
+    ["font/otf"] = "otf",
+    ["font/ttf"] = "ttf",
+    ["font/woff2"] = "woff2",
+    ["font/woff"] = "woff",
+    ["image/bmp"] = "bmp",
+    ["image/cgm"] = "cgm",
+    ["image/g3fax"] = "g3",
+    ["image/gif"] = "gif",
+    ["image/ief"] = "ief",
+    ["image/jpeg"] = "jpg",
+    ["image/ktx"] = "ktx",
+    ["image/png"] = "png",
+    ["image/prs.btif"] = "btif",
+    ["image/sgi"] = "sgi",
+    ["image/svg+xml"] = "svg",
+    ["image/tiff"] = "tiff",
+    ["image/vnd.adobe.photoshop"] = "psd",
+    ["image/vnd.dece.graphic"] = "uvg",
+    ["image/vnd.djvu"] = "djvu",
+    ["image/vnd.dvb.subtitle"] = "sub",
+    ["image/vnd.dwg"] = "dwg",
+    ["image/vnd.dxf"] = "dxf",
+    ["image/vnd.fastbidsheet"] = "fbs",
+    ["image/vnd.fpx"] = "fpx",
+    ["image/vnd.fst"] = "fst",
+    ["image/vnd.fujixerox.edmics-mmr"] = "mmr",
+    ["image/vnd.fujixerox.edmics-rlc"] = "rlc",
+    ["image/vnd.ms-modi"] = "mdi",
+    ["image/vnd.ms-photo"] = "wdp",
+    ["image/vnd.net-fpx"] = "npx",
+    ["image/vnd.wap.wbmp"] = "wbmp",
+    ["image/vnd.xiff"] = "xif",
+    ["image/webp"] = "webp",
+    ["image/x-3ds"] = "3ds",
+    ["image/x-cmu-raster"] = "ras",
+    ["image/x-cmx"] = "cmx",
+    ["image/x-freehand"] = "fh",
+    ["image/x-icon"] = "ico",
+    ["image/x-mrsid-image"] = "sid",
+    ["image/x-pcx"] = "pcx",
+    ["image/x-pict"] = "pct",
+    ["image/x-portable-anymap"] = "pnm",
+    ["image/x-portable-bitmap"] = "pbm",
+    ["image/x-portable-graymap"] = "pgm",
+    ["image/x-portable-pixmap"] = "ppm",
+    ["image/x-rgb"] = "rgb",
+    ["image/x-tga"] = "tga",
+    ["image/x-xbitmap"] = "xbm",
+    ["image/x-xpixmap"] = "xpm",
+    ["image/x-xwindowdump"] = "xwd",
+    ["message/rfc822"] = "mime",
+    ["model/iges"] = "iges",
+    ["model/mesh"] = "mesh",
+    ["model/vnd.collada+xml"] = "dae",
+    ["model/vnd.dwf"] = "dwf",
+    ["model/vnd.gdl"] = "gdl",
+    ["model/vnd.gtw"] = "gtw",
+    ["model/vnd.mts"] = "mts",
+    ["model/vnd.vtu"] = "vtu",
+    ["model/vrml"] = "vrml",
+    ["model/x3d+binary"] = "x3db",
+    ["model/x3d+vrml"] = "x3dv",
+    ["model/x3d+xml"] = "x3d",
+    ["text/cache-manifest"] = "appcache",
+    ["text/calendar"] = "ics",
+    ["text/css"] = "css",
+    ["text/csv"] = "csv",
+    ["text/html"] = "html",
+    ["text/javascript"] = "js",
+    ["text/n3"] = "n3",
+    ["text/plain"] = "txt",
+    ["text/prs.lines.tag"] = "dsc",
+    ["text/richtext"] = "rtx",
+    ["text/sgml"] = "sgml",
+    ["text/tab-separated-values"] = "tsv",
+    ["text/troff"] = "tr",
+    ["text/turtle"] = "ttl",
+    ["text/uri-list"] = "uri",
+    ["text/vcard"] = "vcard",
+    ["text/vnd.curl"] = "curl",
+    ["text/vnd.curl.dcurl"] = "dcurl",
+    ["text/vnd.curl.mcurl"] = "mcurl",
+    ["text/vnd.curl.scurl"] = "scurl",
+    ["text/vnd.dvb.subtitle"] = "sub",
+    ["text/vnd.fly"] = "fly",
+    ["text/vnd.fmi.flexstor"] = "flx",
+    ["text/vnd.graphviz"] = "gv",
+    ["text/vnd.in3d.3dml"] = "3dml",
+    ["text/vnd.in3d.spot"] = "spot",
+    ["text/vnd.sun.j2me.app-descriptor"] = "jad",
+    ["text/vnd.wap.wmlscript"] = "wmls",
+    ["text/vnd.wap.wml"] = "wml",
+    ["text/x-asm"] = "asm",
+    ["text/x-c"] = "c",
+    ["text/x-fortran"] = "f",
+    ["text/x-java-source"] = "java",
+    ["text/x-nfo"] = "nfo",
+    ["text/x-opml"] = "opml",
+    ["text/x-pascal"] = "pas",
+    ["text/x-setext"] = "etx",
+    ["text/x-sfv"] = "sfv",
+    ["text/x-uuencode"] = "uu",
+    ["text/x-vcalendar"] = "vcs",
+    ["text/x-vcard"] = "vcf",
+    ["video/3gpp2"] = "3g2",
+    ["video/3gpp"] = "3gp",
+    ["video/h261"] = "h261",
+    ["video/h263"] = "h263",
+    ["video/h264"] = "h264",
+    ["video/jpeg"] = "jpgv",
+    ["video/jpm"] = "jpm",
+    ["video/mj2"] = "mj2",
+    ["video/mp4"] = "mp4",
+    ["video/mpeg"] = "mpg",
+    ["video/ogg"] = "ogv",
+    ["video/quicktime"] = "mov",
+    ["video/vnd.dece.hd"] = "uvh",
+    ["video/vnd.dece.mobile"] = "uvm",
+    ["video/vnd.dece.pd"] = "uvp",
+    ["video/vnd.dece.sd"] = "uvs",
+    ["video/vnd.dece.video"] = "uvv",
+    ["video/vnd.dvb.file"] = "dvb",
+    ["video/vnd.fvt"] = "fvt",
+    ["video/vnd.mpegurl"] = "m4u",
+    ["video/vnd.ms-playready.media.pyv"] = "pyv",
+    ["video/vnd.uvvu.mp4"] = "uvu",
+    ["video/vnd.vivo"] = "viv",
+    ["video/webm"] = "webm",
+    ["video/x-f4v"] = "f4v",
+    ["video/x-fli"] = "fli",
+    ["video/x-flv"] = "flv",
+    ["video/x-m4v"] = "m4v",
+    ["video/x-matroska"] = "mkv",
+    ["video/x-mng"] = "mng",
+    ["video/x-ms-asf"] = "asf",
+    ["video/x-msvideo"] = "avi",
+    ["video/x-ms-vob"] = "vob",
+    ["video/x-ms-wmv"] = "wmv",
+    ["video/x-ms-wm"] = "wm",
+    ["video/x-ms-wmx"] = "wmx",
+    ["video/x-ms-wvx"] = "wvx",
+    ["video/x-sgi-movie"] = "movie",
+    ["video/x-smv"] = "smv",
+    ["x-conference/x-cooltalk"] = "ice"
   } &default="bin" &redef;
 }
diff --git a/shared/bin/configure-capture.py b/shared/bin/configure-capture.py
index c67729d81..d463fa206 100755
--- a/shared/bin/configure-capture.py
+++ b/shared/bin/configure-capture.py
@@ -48,6 +48,7 @@ class Constants:
     ZEEK_FILE_CARVING_KNOWN = 'known'
     ZEEK_FILE_CARVING_MAPPED = 'mapped'
     ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT = 'mapped (except common plain text files)'
+    ZEEK_FILE_CARVING_NOTCOMMTXT = 'notcommtxt'
     ZEEK_FILE_CARVING_INTERESTING = 'interesting'
     ZEEK_FILE_CARVING_CUSTOM = 'custom'
     ZEEK_FILE_CARVING_CUSTOM_MIME = 'custom (mime-sorted)'
@@ -56,13 +57,6 @@ class Constants:
     ZEEK_FILE_CARVING_OVERRIDE_FILE = '/opt/sensor/sensor_ctl/extractor_override.zeek'
     ZEEK_FILE_CARVING_OVERRIDE_INTERESTING_FILE = '/opt/sensor/sensor_ctl/zeek/extractor_override.interesting.zeek'
     ZEEK_FILE_CARVING_OVERRIDE_FILE_MAP_NAME = 'extractor_mime_to_ext_map'
-    ZEEK_FILE_CARVING_PLAIN_TEXT_MIMES = {
-        "application/json",
-        "application/x-x509-ca-cert",
-        "application/xml",
-        "text/plain",
-        "text/xml",
-    }
 
     FILEBEAT = 'filebeat'
     MISCBEAT = 'miscbeat'
@@ -594,7 +588,7 @@ def main():
                         (
                             Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT,
                             'Carve files with recognized mime types (except common plain text files)',
-                            False,
+                            (capture_config_dict["ZEEK_EXTRACTOR_MODE"] == Constants.ZEEK_FILE_CARVING_NOTCOMMTXT),
                         ),
                         (
                             Constants.ZEEK_FILE_CARVING_KNOWN,
@@ -633,45 +627,32 @@ def main():
                 capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"] = ""
                 zeek_carved_file_preservation = PRESERVE_NONE
 
-                if zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_CUSTOM) or zeek_carve_mode.startswith(
-                    Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT
-                ):
+                if zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_CUSTOM):
                     # get all known mime-to-extension mappings into a dictionary
                     all_mime_maps = mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_DEFAULTS)
 
-                    if zeek_carve_mode == Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT:
-                        # all mime types minus common text mime types
-                        mime_tags.extend(
-                            [
-                                mime
-                                for mime in all_mime_maps.keys()
-                                if mime not in Constants.ZEEK_FILE_CARVING_PLAIN_TEXT_MIMES
-                            ]
-                        )
-
+                    # select mimes to carve (pre-selecting items previously in the override file)
+                    if zeek_carve_mode == Constants.ZEEK_FILE_CARVING_CUSTOM_EXT:
+                        mime_choices = [
+                            (
+                                pair[0],
+                                pair[1],
+                                pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE),
+                            )
+                            for pair in sorted(all_mime_maps.items(), key=lambda x: x[1].lower())
+                        ]
                     else:
-                        # select mimes to carve (pre-selecting items previously in the override file)
-                        if zeek_carve_mode == Constants.ZEEK_FILE_CARVING_CUSTOM_EXT:
-                            mime_choices = [
-                                (
-                                    pair[0],
-                                    pair[1],
-                                    pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE),
-                                )
-                                for pair in sorted(all_mime_maps.items(), key=lambda x: x[1].lower())
-                            ]
-                        else:
-                            mime_choices = [
-                                (
-                                    pair[0],
-                                    pair[1],
-                                    pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE),
-                                )
-                                for pair in sorted(all_mime_maps.items(), key=lambda x: x[0].lower())
-                            ]
-                        code, mime_tags = d.checklist(Constants.MSG_CONFIG_ZEEK_CARVING_MIMES, choices=mime_choices)
-                        if code == Dialog.CANCEL or code == Dialog.ESC:
-                            raise CancelledError
+                        mime_choices = [
+                            (
+                                pair[0],
+                                pair[1],
+                                pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE),
+                            )
+                            for pair in sorted(all_mime_maps.items(), key=lambda x: x[0].lower())
+                        ]
+                    code, mime_tags = d.checklist(Constants.MSG_CONFIG_ZEEK_CARVING_MIMES, choices=mime_choices)
+                    if code == Dialog.CANCEL or code == Dialog.ESC:
+                        raise CancelledError
 
                     mime_tags.sort()
                     if len(mime_tags) == 0:
@@ -691,6 +672,9 @@ def main():
                     zeek_carve_mode = Constants.ZEEK_FILE_CARVING_MAPPED
                     capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"] = Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE
 
+                elif zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT):
+                    zeek_carve_mode = Constants.ZEEK_FILE_CARVING_NOTCOMMTXT
+
                 # what to do with carved files
                 if zeek_carve_mode != Constants.ZEEK_FILE_CARVING_NONE:
                     # select engines for file scanning
diff --git a/shared/bin/pcap_processor.py b/shared/bin/pcap_processor.py
index 40e62d1c0..eef96db41 100755
--- a/shared/bin/pcap_processor.py
+++ b/shared/bin/pcap_processor.py
@@ -60,6 +60,7 @@
 ZEEK_EXTRACTOR_MODE_INTERESTING = 'interesting'
 ZEEK_EXTRACTOR_MODE_MAPPED = 'mapped'
 ZEEK_EXTRACTOR_MODE_NONE = 'none'
+ZEEK_EXTRACTOR_MODE_NOTCOMMTXT = 'notcommtxt'
 ZEEK_EXTRACTOR_SCRIPT = "extractor.zeek"
 ZEEK_EXTRACTOR_SCRIPT_INTERESTING = "extractor_override.interesting.zeek"
 ZEEK_LOCAL_SCRIPT = 'local'
@@ -640,7 +641,7 @@ def main():
             '--extract',
             dest='zeekExtractFileMode',
             help='Zeek file carving mode',
-            metavar=f'{ZEEK_EXTRACTOR_MODE_INTERESTING}|{ZEEK_EXTRACTOR_MODE_MAPPED}|{ZEEK_EXTRACTOR_MODE_NONE}',
+            metavar=f'{ZEEK_EXTRACTOR_MODE_INTERESTING}|{ZEEK_EXTRACTOR_MODE_MAPPED}|{ZEEK_EXTRACTOR_MODE_NONE}|{ZEEK_EXTRACTOR_MODE_NOTCOMMTXT}',
             type=str,
             default=ZEEK_EXTRACTOR_MODE_NONE,
         )
diff --git a/zeek/config/extractor.zeek b/zeek/config/extractor.zeek
index 07e745368..643b67bc4 100644
--- a/zeek/config/extractor.zeek
+++ b/zeek/config/extractor.zeek
@@ -17,7 +17,9 @@ event file_sniff(f: fa_file, meta: fa_metadata) {
       # we only want to extract knowns and we know the mime type OR
       ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) ||
       # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped
-      ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map))) {
+      ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) ||
+      # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those
+      ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) {
 
     local ext: string = "";
     if (! meta?$mime_type)
diff --git a/zeek/config/extractor_params.zeek b/zeek/config/extractor_params.zeek
index 653e91503..e72dd0f15 100644
--- a/zeek/config/extractor_params.zeek
+++ b/zeek/config/extractor_params.zeek
@@ -3,937 +3,792 @@
 # Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
 
 export {
-  const extractor_extract_none      = "none" &redef;
-  const extractor_extract_known     = "known" &redef;
-  const extractor_extract_mapped    = "mapped" &redef;
-  const extractor_extract_all       = "all" &redef;
+  const extractor_extract_none       = "none" &redef;
+  const extractor_extract_known      = "known" &redef;
+  const extractor_extract_mapped     = "mapped" &redef;
+  const extractor_extract_all        = "all" &redef;
+  const extractor_extract_notcommtxt = "notcommtxt" &redef;
 
   const extractor_always_extract_unknown = F &redef;
 
   const extractor_max_size_default = 134217728 &redef;
 
+  const plain_text_mimes : set[string] = {
+    "application/json",
+    "application/x-x509-ca-cert",
+    "application/xml",
+    "text/plain",
+    "text/xml",
+  } &redef;
+
   # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort
   const extractor_mime_to_ext_map : table[string] of string = {
-    ["application/acad"]= "dwg",
-    ["application/andrew-inset"]= "ez",
-    ["application/annodex"]= "anx",
-    ["application/applixware"]= "aw",
-    ["application/atom+xml"]= "atom",
-    ["application/atomcat+xml"]= "atomcat",
-    ["application/atomsvc+xml"]= "atomsvc",
-    ["application/binary"]= "bin",
-    ["application/ccxml+xml"]= "ccxml",
-    ["application/cdmi-capability"]= "cdmia",
-    ["application/cdmi-container"]= "cdmic",
-    ["application/cdmi-domain"]= "cdmid",
-    ["application/cdmi-object"]= "cdmio",
-    ["application/cdmi-queue"]= "cdmiq",
-    ["application/cu-seeme"]= "cu",
-    ["application/davmount+xml"]= "davmount",
-    ["application/directx"]= "x",
-    ["application/docbook+xml"]= "dbk",
-    ["application/dssc+der"]= "dssc",
-    ["application/dssc+xml"]= "xdssc",
-    ["application/ecmascript"]= "es",
-    ["application/emma+xml"]= "emma",
-    ["application/envoy"]= "evy",
-    ["application/epub+zip"]= "epub",
-    ["application/etl"]= "etl",
-    ["application/exi"]= "exi",
-    ["application/font-sfnt"]= "ttf",
-    ["application/fractals"]= "fif",
-    ["application/fsharp-script"]= "fsscript",
-    ["application/futuresplash"]= "spl",
-    ["application/gml+xml"]= "gml",
-    ["application/gpx+xml"]= "gpx",
-    ["application/gxf"]= "gxf",
-    ["application/hta"]= "hta",
-    ["application/hyperstudio"]= "stk",
-    ["application/inkml+xml"]= "inkml",
-    ["application/internet-property-stream"]= "acx",
-    ["application/ipfix"]= "ipfix",
-    ["application/java-archive"]= "jar",
-    ["application/java-serialized-object"]= "ser",
-    ["application/java-vm"]= "class",
-    ["application/javascript"]= "js",
-    ["application/json"]= "json",
-    ["application/jsonml+json"]= "jsonml",
-    ["application/liquidmotion"]= "jck",
-    ["application/lost+xml"]= "lostxml",
-    ["application/mac-binhex40"]= "hqx",
-    ["application/mac-compactpro"]= "cpt",
-    ["application/mads+xml"]= "mads",
-    ["application/marc"]= "mrc",
-    ["application/marcxml+xml"]= "mrcx",
-    ["application/mathematica"]= "ma",
-    ["application/mathml+xml"]= "mathml",
-    ["application/mbox"]= "mbox",
-    ["application/mediaservercontrol+xml"]= "mscml",
-    ["application/metalink+xml"]= "metalink",
-    ["application/metalink4+xml"]= "meta4",
-    ["application/mets+xml"]= "mets",
-    ["application/mods+xml"]= "mods",
-    ["application/mp21"]= "mp21",
-    ["application/mp4"]= "mp4s",
-    ["application/mpeg"]= "amc",
-    ["application/ms-vsi"]= "vsi",
-    ["application/msaccess"]= "accdb",
-    ["application/msaccess.addin"]= "accda",
-    ["application/msaccess.cab"]= "accdc",
-    ["application/msaccess.ftemplate"]= "accft",
-    ["application/msaccess.runtime"]= "accdr",
-    ["application/msaccess.webapplication"]= "accdw",
-    ["application/msexcel"]= "xls",
-    ["application/mspowerpoint"]= "ppt",
-    ["application/msword"]= "doc",
-    ["application/mxf"]= "mxf",
-    ["application/octet-stream"]= "bin",
-    ["application/oda"]= "oda",
-    ["application/oebps-package+xml"]= "opf",
-    ["application/ogg"]= "ogx",
-    ["application/olescript"]= "axs",
-    ["application/omdoc+xml"]= "omdoc",
-    ["application/onenote"]= "one",
-    ["application/opensearchdescription+xml"]= "osdx",
-    ["application/oxps"]= "oxps",
-    ["application/patch-ops-error+xml"]= "xer",
-    ["application/pdf"]= "pdf",
-    ["application/pgp-encrypted"]= "pgp",
-    ["application/pgp-signature"]= "pgp",
-    ["application/pics-rules"]= "prf",
-    ["application/pkcs10"]= "p10",
-    ["application/pkcs7-mime"]= "p7c",
-    ["application/pkcs7-signature"]= "p7s",
-    ["application/pkcs8"]= "p8",
-    ["application/pkix-attr-cert"]= "ac",
-    ["application/pkix-cert"]= "cer",
-    ["application/pkix-crl"]= "crl",
-    ["application/pkix-pkipath"]= "pkipath",
-    ["application/pkixcmp"]= "pki",
-    ["application/pls+xml"]= "pls",
-    ["application/postscript"]= "ps",
-    ["application/PowerShell"]= "psc1",
-    ["application/prs.cww"]= "cww",
-    ["application/pskc+xml"]= "pskcxml",
-    ["application/rat-file"]= "rat",
-    ["application/rdf+xml"]= "rdf",
-    ["application/reginfo+xml"]= "rif",
-    ["application/relax-ng-compact-syntax"]= "rnc",
-    ["application/resource-lists+xml"]= "rl",
-    ["application/resource-lists-diff+xml"]= "rld",
-    ["application/rls-services+xml"]= "rs",
-    ["application/rpki-ghostbusters"]= "gbr",
-    ["application/rpki-manifest"]= "mft",
-    ["application/rpki-roa"]= "roa",
-    ["application/rsd+xml"]= "rsd",
-    ["application/rss+xml"]= "rss",
-    ["application/rtf"]= "rtf",
-    ["application/sbml+xml"]= "sbml",
-    ["application/scvp-cv-request"]= "scq",
-    ["application/scvp-cv-response"]= "scs",
-    ["application/scvp-vp-request"]= "spq",
-    ["application/scvp-vp-response"]= "spp",
-    ["application/sdp"]= "sdp",
-    ["application/set-payment-initiation"]= "setpay",
-    ["application/set-registration-initiation"]= "setreg",
-    ["application/shf+xml"]= "shf",
-    ["application/smil+xml"]= "smil",
-    ["application/sparql-query"]= "rq",
-    ["application/sparql-results+xml"]= "srx",
-    ["application/srgs"]= "gram",
-    ["application/srgs+xml"]= "grxml",
-    ["application/sru+xml"]= "sru",
-    ["application/ssdl+xml"]= "ssdl",
-    ["application/ssml+xml"]= "ssml",
-    ["application/step"]= "step",
-    ["application/streamingmedia"]= "ssm",
-    ["application/tei+xml"]= "tei",
-    ["application/thraud+xml"]= "tfi",
-    ["application/timestamped-data"]= "tsd",
-    ["application/vnd.3gpp.pic-bw-large"]= "plb",
-    ["application/vnd.3gpp.pic-bw-small"]= "psb",
-    ["application/vnd.3gpp.pic-bw-var"]= "pvb",
-    ["application/vnd.3gpp2.tcap"]= "tcap",
-    ["application/vnd.3m.post-it-notes"]= "pwn",
-    ["application/vnd.accpac.simply.aso"]= "aso",
-    ["application/vnd.accpac.simply.imp"]= "imp",
-    ["application/vnd.acucobol"]= "acu",
-    ["application/vnd.acucorp"]= "acutc",
-    ["application/vnd.adobe.air-application-installer-package+zip"]= "air",
-    ["application/vnd.adobe.formscentral.fcdt"]= "fcdt",
-    ["application/vnd.adobe.fxp"]= "fxp",
-    ["application/vnd.adobe.xdp+xml"]= "xdp",
-    ["application/vnd.adobe.xfdf"]= "xfdf",
-    ["application/vnd.ahead.space"]= "ahead",
-    ["application/vnd.airzip.filesecure.azf"]= "azf",
-    ["application/vnd.airzip.filesecure.azs"]= "azs",
-    ["application/vnd.amazon.ebook"]= "azw",
-    ["application/vnd.americandynamics.acc"]= "acc",
-    ["application/vnd.amiga.ami"]= "ami",
-    ["application/vnd.android.package-archive"]= "apk",
-    ["application/vnd.anser-web-certificate-issue-initiation"]= "cii",
-    ["application/vnd.anser-web-funds-transfer-initiation"]= "fti",
-    ["application/vnd.antix.game-component"]= "atx",
-    ["application/vnd.apple.installer+xml"]= "mpkg",
-    ["application/vnd.apple.mpegurl"]= "m3u8",
-    ["application/vnd.aristanetworks.swi"]= "swi",
-    ["application/vnd.astraea-software.iota"]= "iota",
-    ["application/vnd.audiograph"]= "aep",
-    ["application/vnd.blueice.multipass"]= "mpm",
-    ["application/vnd.bmi"]= "bmi",
-    ["application/vnd.businessobjects"]= "rep",
-    ["application/vnd.chemdraw+xml"]= "cdxml",
-    ["application/vnd.chipnuts.karaoke-mmd"]= "mmd",
-    ["application/vnd.cinderella"]= "cdy",
-    ["application/vnd.claymore"]= "cla",
-    ["application/vnd.cloanto.rp9"]= "rp9",
-    ["application/vnd.clonk.c4group"]= "c4g",
-    ["application/vnd.cluetrust.cartomobile-config"]= "c11amc",
-    ["application/vnd.cluetrust.cartomobile-config-pkg"]= "c11amz",
-    ["application/vnd.commonspace"]= "csp",
-    ["application/vnd.contact.cmsg"]= "cdbcmsg",
-    ["application/vnd.cosmocaller"]= "cmc",
-    ["application/vnd.crick.clicker"]= "clkx",
-    ["application/vnd.crick.clicker.keyboard"]= "clkk",
-    ["application/vnd.crick.clicker.palette"]= "clkp",
-    ["application/vnd.crick.clicker.template"]= "clkt",
-    ["application/vnd.crick.clicker.wordbank"]= "clkw",
-    ["application/vnd.criticaltools.wbs+xml"]= "wbs",
-    ["application/vnd.ctc-posml"]= "pml",
-    ["application/vnd.cups-ppd"]= "ppd",
-    ["application/vnd.curl.car"]= "car",
-    ["application/vnd.curl.pcurl"]= "pcurl",
-    ["application/vnd.dart"]= "dart",
-    ["application/vnd.data-vision.rdz"]= "rdz",
-    ["application/vnd.dece.data"]= "uvd",
-    ["application/vnd.dece.ttml+xml"]= "uvt",
-    ["application/vnd.dece.unspecified"]= "uvx",
-    ["application/vnd.dece.zip"]= "uvz",
-    ["application/vnd.denovo.fcselayout-link"]= "fe_launch",
-    ["application/vnd.dna"]= "dna",
-    ["application/vnd.dolby.mlp"]= "mlp",
-    ["application/vnd.dpgraph"]= "dpg",
-    ["application/vnd.dreamfactory"]= "dfac",
-    ["application/vnd.ds-keypoint"]= "kpxx",
-    ["application/vnd.dvb.ait"]= "ait",
-    ["application/vnd.dvb.service"]= "svc",
-    ["application/vnd.dynageo"]= "geo",
-    ["application/vnd.ecowin.chart"]= "mag",
-    ["application/vnd.enliven"]= "nml",
-    ["application/vnd.epson.esf"]= "esf",
-    ["application/vnd.epson.msf"]= "msf",
-    ["application/vnd.epson.quickanime"]= "qam",
-    ["application/vnd.epson.salt"]= "slt",
-    ["application/vnd.epson.ssf"]= "ssf",
-    ["application/vnd.eszigno3+xml"]= "es3",
-    ["application/vnd.ezpix-album"]= "ez2",
-    ["application/vnd.ezpix-package"]= "ez3",
-    ["application/vnd.fdf"]= "fdf",
-    ["application/vnd.fdsn.mseed"]= "mseed",
-    ["application/vnd.fdsn.seed"]= "seed",
-    ["application/vnd.flographit"]= "gph",
-    ["application/vnd.fluxtime.clip"]= "ftc",
-    ["application/vnd.framemaker"]= "fm",
-    ["application/vnd.frogans.fnc"]= "fnc",
-    ["application/vnd.frogans.ltf"]= "ltf",
-    ["application/vnd.fsc.weblaunch"]= "fsc",
-    ["application/vnd.fujitsu.oasys"]= "oas",
-    ["application/vnd.fujitsu.oasys2"]= "oa2",
-    ["application/vnd.fujitsu.oasys3"]= "oa3",
-    ["application/vnd.fujitsu.oasysgp"]= "fg5",
-    ["application/vnd.fujitsu.oasysprs"]= "bh2",
-    ["application/vnd.fujixerox.ddd"]= "ddd",
-    ["application/vnd.fujixerox.docuworks"]= "xdw",
-    ["application/vnd.fujixerox.docuworks.binder"]= "xbd",
-    ["application/vnd.fuzzysheet"]= "fzs",
-    ["application/vnd.genomatix.tuxedo"]= "txd",
-    ["application/vnd.geogebra.file"]= "ggb",
-    ["application/vnd.geogebra.tool"]= "ggt",
-    ["application/vnd.geometry-explorer"]= "gex",
-    ["application/vnd.geonext"]= "gxt",
-    ["application/vnd.geoplan"]= "g2w",
-    ["application/vnd.geospace"]= "g3w",
-    ["application/vnd.gmx"]= "gmx",
-    ["application/vnd.google-earth.kml+xml"]= "kml",
-    ["application/vnd.google-earth.kmz"]= "kmz",
-    ["application/vnd.grafeq"]= "gqf",
-    ["application/vnd.groove-account"]= "gac",
-    ["application/vnd.groove-help"]= "ghf",
-    ["application/vnd.groove-identity-message"]= "gim",
-    ["application/vnd.groove-injector"]= "grv",
-    ["application/vnd.groove-tool-message"]= "gtm",
-    ["application/vnd.groove-tool-template"]= "tpl",
-    ["application/vnd.groove-vcard"]= "vcg",
-    ["application/vnd.hal+xml"]= "hal",
-    ["application/vnd.handheld-entertainment+xml"]= "zmm",
-    ["application/vnd.hbci"]= "hbci",
-    ["application/vnd.hhe.lesson-player"]= "les",
-    ["application/vnd.hp-hpgl"]= "hpgl",
-    ["application/vnd.hp-hpid"]= "hpid",
-    ["application/vnd.hp-hps"]= "hps",
-    ["application/vnd.hp-jlyt"]= "jlt",
-    ["application/vnd.hp-pcl"]= "pcl",
-    ["application/vnd.hp-pclxl"]= "pclxl",
-    ["application/vnd.hydrostatix.sof-data"]= "sfd-hdstx",
-    ["application/vnd.ibm.minipay"]= "mpy",
-    ["application/vnd.ibm.modcap"]= "afp",
-    ["application/vnd.ibm.rights-management"]= "irm",
-    ["application/vnd.ibm.secure-container"]= "sc",
-    ["application/vnd.iccprofile"]= "icc",
-    ["application/vnd.igloader"]= "igl",
-    ["application/vnd.immervision-ivp"]= "ivp",
-    ["application/vnd.immervision-ivu"]= "ivu",
-    ["application/vnd.insors.igm"]= "igm",
-    ["application/vnd.intercon.formnet"]= "xpw",
-    ["application/vnd.intergeo"]= "i2g",
-    ["application/vnd.intu.qbo"]= "qbo",
-    ["application/vnd.intu.qfx"]= "qfx",
-    ["application/vnd.ipunplugged.rcprofile"]= "rcprofile",
-    ["application/vnd.irepository.package+xml"]= "irp",
-    ["application/vnd.is-xpr"]= "xpr",
-    ["application/vnd.isac.fcs"]= "fcs",
-    ["application/vnd.jam"]= "jam",
-    ["application/vnd.jcp.javame.midlet-rms"]= "rms",
-    ["application/vnd.jisp"]= "jisp",
-    ["application/vnd.joost.joda-archive"]= "joda",
-    ["application/vnd.kahootz"]= "ktz",
-    ["application/vnd.kde.karbon"]= "karbon",
-    ["application/vnd.kde.kchart"]= "chrt",
-    ["application/vnd.kde.kformula"]= "kfo",
-    ["application/vnd.kde.kivio"]= "flw",
-    ["application/vnd.kde.kontour"]= "kon",
-    ["application/vnd.kde.kpresenter"]= "kpt",
-    ["application/vnd.kde.kspread"]= "ksp",
-    ["application/vnd.kde.kword"]= "kwd",
-    ["application/vnd.kenameaapp"]= "htke",
-    ["application/vnd.kidspiration"]= "kia",
-    ["application/vnd.kinar"]= "kne",
-    ["application/vnd.koan"]= "skd",
-    ["application/vnd.kodak-descriptor"]= "sse",
-    ["application/vnd.las.las+xml"]= "lasxml",
-    ["application/vnd.llamagraphics.life-balance.desktop"]= "lbd",
-    ["application/vnd.llamagraphics.life-balance.exchange+xml"]= "lbe",
-    ["application/vnd.lotus-1-2-3"]= "123",
-    ["application/vnd.lotus-approach"]= "apr",
-    ["application/vnd.lotus-freelance"]= "pre",
-    ["application/vnd.lotus-notes"]= "nsf",
-    ["application/vnd.lotus-organizer"]= "org",
-    ["application/vnd.lotus-screencam"]= "scm",
-    ["application/vnd.lotus-wordpro"]= "lwp",
-    ["application/vnd.macports.portpkg"]= "portpkg",
-    ["application/vnd.mcd"]= "mcd",
-    ["application/vnd.medcalcdata"]= "mc1",
-    ["application/vnd.mediastation.cdkey"]= "cdkey",
-    ["application/vnd.mfer"]= "mwf",
-    ["application/vnd.mfmp"]= "mfm",
-    ["application/vnd.micrografx.flo"]= "flo",
-    ["application/vnd.micrografx.igx"]= "igx",
-    ["application/vnd.microsoft.portable-executable"]= "exe",
-    ["application/vnd.mif"]= "mif",
-    ["application/vnd.mobius.daf"]= "daf",
-    ["application/vnd.mobius.dis"]= "dis",
-    ["application/vnd.mobius.mbk"]= "mbk",
-    ["application/vnd.mobius.mqy"]= "mqy",
-    ["application/vnd.mobius.msl"]= "msl",
-    ["application/vnd.mobius.plc"]= "plc",
-    ["application/vnd.mobius.txf"]= "txf",
-    ["application/vnd.mophun.application"]= "mpn",
-    ["application/vnd.mophun.certificate"]= "mpc",
-    ["application/vnd.mozilla.xul+xml"]= "xul",
-    ["application/vnd.ms-artgalry"]= "cil",
-    ["application/vnd.ms-cab-compressed"]= "cab",
-    ["application/vnd.ms-excel"]= "xls",
-    ["application/vnd.ms-excel.addin.macroEnabled.12"]= "xlam",
-    ["application/vnd.ms-excel.addin.macroenabled.12"]= "xlam",
-    ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"]= "xlsb",
-    ["application/vnd.ms-excel.sheet.binary.macroenabled.12"]= "xlsb",
-    ["application/vnd.ms-excel.sheet.macroEnabled.12"]= "xlsm",
-    ["application/vnd.ms-excel.sheet.macroenabled.12"]= "xlsm",
-    ["application/vnd.ms-excel.template.macroEnabled.12"]= "xltm",
-    ["application/vnd.ms-excel.template.macroenabled.12"]= "xltm",
-    ["application/vnd.ms-fontobject"]= "eot",
-    ["application/vnd.ms-htmlhelp"]= "chm",
-    ["application/vnd.ms-ims"]= "ims",
-    ["application/vnd.ms-lrm"]= "lrm",
-    ["application/vnd.ms-mediapackage"]= "mpf",
-    ["application/vnd.ms-office.calx"]= "calx",
-    ["application/vnd.ms-officetheme"]= "thmx",
-    ["application/vnd.ms-outlook"]= "msg",
-    ["application/vnd.ms-pki.certstore"]= "sst",
-    ["application/vnd.ms-pki.pko"]= "pko",
-    ["application/vnd.ms-pki.seccat"]= "cat",
-    ["application/vnd.ms-pki.stl"]= "stl",
-    ["application/vnd.ms-powerpoint"]= "ppt",
-    ["application/vnd.ms-powerpoint.addin.macroEnabled.12"]= "ppam",
-    ["application/vnd.ms-powerpoint.addin.macroenabled.12"]= "ppam",
-    ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"]= "pptm",
-    ["application/vnd.ms-powerpoint.presentation.macroenabled.12"]= "pptm",
-    ["application/vnd.ms-powerpoint.slide.macroEnabled.12"]= "sldm",
-    ["application/vnd.ms-powerpoint.slide.macroenabled.12"]= "sldm",
-    ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"]= "ppsm",
-    ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"]= "ppsm",
-    ["application/vnd.ms-powerpoint.template.macroEnabled.12"]= "potm",
-    ["application/vnd.ms-powerpoint.template.macroenabled.12"]= "potm",
-    ["application/vnd.ms-project"]= "mpt",
-    ["application/vnd.ms-visio.viewer"]= "vdx",
-    ["application/vnd.ms-word.document.macroEnabled.12"]= "docm",
-    ["application/vnd.ms-word.document.macroenabled.12"]= "docm",
-    ["application/vnd.ms-word.template.macroEnabled.12"]= "dotm",
-    ["application/vnd.ms-word.template.macroenabled.12"]= "dotm",
-    ["application/vnd.ms-works"]= "wks",
-    ["application/vnd.ms-wpl"]= "wpl",
-    ["application/vnd.ms-xpsdocument"]= "xps",
-    ["application/vnd.mseq"]= "mseq",
-    ["application/vnd.musician"]= "mus",
-    ["application/vnd.muvee.style"]= "msty",
-    ["application/vnd.mynfc"]= "taglet",
-    ["application/vnd.neurolanguage.nlu"]= "nlu",
-    ["application/vnd.nitf"]= "nitf",
-    ["application/vnd.noblenet-directory"]= "nnd",
-    ["application/vnd.noblenet-sealer"]= "nns",
-    ["application/vnd.noblenet-web"]= "nnw",
-    ["application/vnd.nokia.n-gage.data"]= "ngdat",
-    ["application/vnd.nokia.n-gage.symbian.install"]= "n-gage",
-    ["application/vnd.nokia.radio-preset"]= "rpst",
-    ["application/vnd.nokia.radio-presets"]= "rpss",
-    ["application/vnd.novadigm.edm"]= "edm",
-    ["application/vnd.novadigm.edx"]= "edx",
-    ["application/vnd.novadigm.ext"]= "ext",
-    ["application/vnd.oasis.opendocument.chart"]= "odc",
-    ["application/vnd.oasis.opendocument.chart-template"]= "otc",
-    ["application/vnd.oasis.opendocument.database"]= "odb",
-    ["application/vnd.oasis.opendocument.formula"]= "odf",
-    ["application/vnd.oasis.opendocument.formula-template"]= "odft",
-    ["application/vnd.oasis.opendocument.graphics"]= "odg",
-    ["application/vnd.oasis.opendocument.graphics-template"]= "otg",
-    ["application/vnd.oasis.opendocument.image"]= "odi",
-    ["application/vnd.oasis.opendocument.image-template"]= "oti",
-    ["application/vnd.oasis.opendocument.presentation"]= "odp",
-    ["application/vnd.oasis.opendocument.presentation-template"]= "otp",
-    ["application/vnd.oasis.opendocument.spreadsheet"]= "ods",
-    ["application/vnd.oasis.opendocument.spreadsheet-template"]= "ots",
-    ["application/vnd.oasis.opendocument.text"]= "odt",
-    ["application/vnd.oasis.opendocument.text-master"]= "odm",
-    ["application/vnd.oasis.opendocument.text-template"]= "ott",
-    ["application/vnd.oasis.opendocument.text-web"]= "oth",
-    ["application/vnd.olpc-sugar"]= "xo",
-    ["application/vnd.oma.dd2+xml"]= "dd2",
-    ["application/vnd.openofficeorg.extension"]= "oxt",
-    ["application/vnd.openxmlformats-officedocument.presentationml.presentation"]= "pptx",
-    ["application/vnd.openxmlformats-officedocument.presentationml.slide"]= "sldx",
-    ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"]= "ppsx",
-    ["application/vnd.openxmlformats-officedocument.presentationml.template"]= "potx",
-    ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]= "xlsx",
-    ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"]= "xltx",
-    ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"]= "docx",
-    ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"]= "dotx",
-    ["application/vnd.osgeo.mapguide.package"]= "mgp",
-    ["application/vnd.osgi.dp"]= "dp",
-    ["application/vnd.osgi.subsystem"]= "esa",
-    ["application/vnd.palm"]= "pdb",
-    ["application/vnd.pawaafile"]= "paw",
-    ["application/vnd.pg.format"]= "str",
-    ["application/vnd.pg.osasli"]= "ei6",
-    ["application/vnd.picsel"]= "efif",
-    ["application/vnd.pmi.widget"]= "wg",
-    ["application/vnd.pocketlearn"]= "plf",
-    ["application/vnd.powerbuilder6"]= "pbd",
-    ["application/vnd.previewsystems.box"]= "box",
-    ["application/vnd.proteus.magazine"]= "mgz",
-    ["application/vnd.publishare-delta-tree"]= "qps",
-    ["application/vnd.pvi.ptid1"]= "ptid",
-    ["application/vnd.quark.quarkxpress"]= "qxt",
-    ["application/vnd.realvnc.bed"]= "bed",
-    ["application/vnd.recordare.musicxml"]= "mxl",
-    ["application/vnd.recordare.musicxml+xml"]= "musicxml",
-    ["application/vnd.rig.cryptonote"]= "cryptonote",
-    ["application/vnd.rim.cod"]= "cod",
-    ["application/vnd.rn-realmedia"]= "rm",
-    ["application/vnd.rn-realmedia-vbr"]= "rmvb",
-    ["application/vnd.rn-rn_music_package"]= "rmp",
-    ["application/vnd.route66.link66+xml"]= "link66",
-    ["application/vnd.sailingtracker.track"]= "st",
-    ["application/vnd.seemail"]= "see",
-    ["application/vnd.sema"]= "sema",
-    ["application/vnd.semd"]= "semd",
-    ["application/vnd.semf"]= "semf",
-    ["application/vnd.shana.informed.formdata"]= "ifm",
-    ["application/vnd.shana.informed.formtemplate"]= "itp",
-    ["application/vnd.shana.informed.interchange"]= "iif",
-    ["application/vnd.shana.informed.package"]= "ipk",
-    ["application/vnd.simtech-mindmapper"]= "twd",
-    ["application/vnd.smaf"]= "mmf",
-    ["application/vnd.smart.teacher"]= "teacher",
-    ["application/vnd.solent.sdkm+xml"]= "sdkm",
-    ["application/vnd.spotfire.dxp"]= "dxp",
-    ["application/vnd.spotfire.sfs"]= "sfs",
-    ["application/vnd.stardivision.calc"]= "sdc",
-    ["application/vnd.stardivision.draw"]= "sda",
-    ["application/vnd.stardivision.impress"]= "sdd",
-    ["application/vnd.stardivision.math"]= "smf",
-    ["application/vnd.stardivision.writer"]= "sdw",
-    ["application/vnd.stardivision.writer-global"]= "sgl",
-    ["application/vnd.stepmania.package"]= "smzip",
-    ["application/vnd.stepmania.stepchart"]= "sm",
-    ["application/vnd.sun.xml.calc"]= "sxc",
-    ["application/vnd.sun.xml.calc.template"]= "stc",
-    ["application/vnd.sun.xml.draw"]= "sxd",
-    ["application/vnd.sun.xml.draw.template"]= "std",
-    ["application/vnd.sun.xml.impress"]= "sxi",
-    ["application/vnd.sun.xml.impress.template"]= "sti",
-    ["application/vnd.sun.xml.math"]= "sxm",
-    ["application/vnd.sun.xml.writer"]= "sxw",
-    ["application/vnd.sun.xml.writer.global"]= "sxg",
-    ["application/vnd.sun.xml.writer.template"]= "stw",
-    ["application/vnd.sus-calendar"]= "sus",
-    ["application/vnd.svd"]= "svd",
-    ["application/vnd.symbian.install"]= "sis",
-    ["application/vnd.syncml+xml"]= "xsm",
-    ["application/vnd.syncml.dm+wbxml"]= "bdm",
-    ["application/vnd.syncml.dm+xml"]= "xdm",
-    ["application/vnd.tao.intent-module-archive"]= "tao",
-    ["application/vnd.tcpdump.pcap"]= "pcap",
-    ["application/vnd.tmobile-livetv"]= "tmo",
-    ["application/vnd.trid.tpt"]= "tpt",
-    ["application/vnd.triscape.mxs"]= "mxs",
-    ["application/vnd.trueapp"]= "tra",
-    ["application/vnd.ufdl"]= "ufdl",
-    ["application/vnd.uiq.theme"]= "utz",
-    ["application/vnd.umajin"]= "umj",
-    ["application/vnd.unity"]= "unityweb",
-    ["application/vnd.uoml+xml"]= "uoml",
-    ["application/vnd.vcx"]= "vcx",
-    ["application/vnd.visio"]= "vsd",
-    ["application/vnd.visionary"]= "vis",
-    ["application/vnd.vsf"]= "vsf",
-    ["application/vnd.wap.wbxml"]= "wbxml",
-    ["application/vnd.wap.wmlc"]= "wmlc",
-    ["application/vnd.wap.wmlscriptc"]= "wmlsc",
-    ["application/vnd.webturbo"]= "wtb",
-    ["application/vnd.wolfram.player"]= "nbp",
-    ["application/vnd.wordperfect"]= "wpd",
-    ["application/vnd.wqd"]= "wqd",
-    ["application/vnd.wt.stf"]= "stf",
-    ["application/vnd.xara"]= "xar",
-    ["application/vnd.xfdl"]= "xfdl",
-    ["application/vnd.yamaha.hv-dic"]= "hvd",
-    ["application/vnd.yamaha.hv-script"]= "hvs",
-    ["application/vnd.yamaha.hv-voice"]= "hvp",
-    ["application/vnd.yamaha.openscoreformat"]= "osf",
-    ["application/vnd.yamaha.openscoreformat.osfpvg+xml"]= "osfpvg",
-    ["application/vnd.yamaha.smaf-audio"]= "saf",
-    ["application/vnd.yamaha.smaf-phrase"]= "spf",
-    ["application/vnd.yellowriver-custom-menu"]= "cmp",
-    ["application/vnd.zul"]= "zir",
-    ["application/vnd.zzazz.deck+xml"]= "zaz",
-    ["application/voicexml+xml"]= "vxml",
-    ["application/vsix"]= "vsix",
-    ["application/wasm"]= "wasm",
-    ["application/widget"]= "wgt",
-    ["application/windows-library+xml"]= "library-ms",
-    ["application/windows-search-connector+xml"]= "searchConnector-ms",
-    ["application/winhlp"]= "hlp",
-    ["application/wlmoviemaker"]= "WLMP",
-    ["application/wsdl+xml"]= "wsdl",
-    ["application/wspolicy+xml"]= "wspolicy",
-    ["application/x-7z-compressed"]= "7z",
-    ["application/x-abiword"]= "abw",
-    ["application/x-ace-compressed"]= "ace",
-    ["application/x-apple-diskimage"]= "dmg",
-    ["application/x-authorware-bin"]= "aab",
-    ["application/x-authorware-map"]= "aam",
-    ["application/x-authorware-seg"]= "aas",
-    ["application/x-bcpio"]= "bcpio",
-    ["application/x-bittorrent"]= "torrent",
-    ["application/x-blorb"]= "blorb",
-    ["application/x-bridge-url"]= "adobebridge",
-    ["application/x-bzip"]= "bz",
-    ["application/x-bzip2"]= "bz2",
-    ["application/x-cbr"]= "cbr",
-    ["application/x-cdlink"]= "vcd",
-    ["application/x-cfs-compressed"]= "cfs",
-    ["application/x-chat"]= "chat",
-    ["application/x-chess-pgn"]= "pgn",
-    ["application/x-compress"]= "z",
-    ["application/x-compressed"]= "tgz",
-    ["application/x-conference"]= "nsc",
-    ["application/x-cpio"]= "cpio",
-    ["application/x-csh"]= "csh",
-    ["application/x-debian-package"]= "deb",
-    ["application/x-dgc-compressed"]= "dgc",
-    ["application/x-director"]= "dir",
-    ["application/x-doom"]= "wad",
-    ["application/x-dosexec"]= "exe",
-    ["application/x-dtbncx+xml"]= "ncx",
-    ["application/x-dtbook+xml"]= "dtb",
-    ["application/x-dtbresource+xml"]= "res",
-    ["application/x-dvi"]= "dvi",
-    ["application/x-dxf"]= "dxf",
-    ["application/x-elf"]= "elf",
-    ["application/x-envoy"]= "evy",
-    ["application/x-eva"]= "eva",
-    ["application/x-executable"]= "exe",
-    ["application/x-font-bdf"]= "bdf",
-    ["application/x-font-ghostscript"]= "gsf",
-    ["application/x-font-linux-psf"]= "psf",
-    ["application/x-font-pcf"]= "pcf",
-    ["application/x-font-snf"]= "snf",
-    ["application/x-font-type1"]= "pfm",
-    ["application/x-freearc"]= "arc",
-    ["application/x-futuresplash"]= "spl",
-    ["application/x-gca-compressed"]= "gca",
-    ["application/x-glulx"]= "ulx",
-    ["application/x-gnumeric"]= "gnumeric",
-    ["application/x-gramps-xml"]= "gramps",
-    ["application/x-gtar"]= "gtar",
-    ["application/x-gzip"]= "gz",
-    ["application/x-hdf"]= "hdf",
-    ["application/x-install-instructions"]= "install",
-    ["application/x-internet-signup"]= "isp",
-    ["application/x-iphone"]= "iii",
-    ["application/x-iso9660-image"]= "iso",
-    ["application/x-itunes-ipa"]= "ipa",
-    ["application/x-itunes-ipg"]= "ipg",
-    ["application/x-itunes-ipsw"]= "ipsw",
-    ["application/x-itunes-ite"]= "ite",
-    ["application/x-itunes-itlp"]= "itlp",
-    ["application/x-itunes-itms"]= "itms",
-    ["application/x-itunes-itpc"]= "itpc",
-    ["application/x-java-applet"]= "class",
-    ["application/x-java-jnlp-file"]= "jnlp",
-    ["application/x-koan"]= "skp",
-    ["application/x-latex"]= "latex",
-    ["application/x-lzh-compressed"]= "lzh",
-    ["application/x-mie"]= "mie",
-    ["application/x-miva-compiled"]= "mvc",
-    ["application/x-mmxp"]= "mxp",
-    ["application/x-mobipocket-ebook"]= "mobi",
-    ["application/x-ms-application"]= "application",
-    ["application/x-ms-installer"]= "msi",
-    ["application/x-ms-license"]= "slupkg-ms",
-    ["application/x-ms-manifest"]= "manifest",
-    ["application/x-ms-reader"]= "lit",
-    ["application/x-ms-shortcut"]= "lnk",
-    ["application/x-ms-vsto"]= "vsto",
-    ["application/x-ms-wmd"]= "wmd",
-    ["application/x-ms-wmz"]= "wmz",
-    ["application/x-ms-xbap"]= "xbap",
-    ["application/x-msaccess"]= "mdb",
-    ["application/x-msbinder"]= "obd",
-    ["application/x-mscardfile"]= "crd",
-    ["application/x-msclip"]= "clp",
-    ["application/x-msdos-program"]= "exe",
-    ["application/x-msdownload"]= "exe",
-    ["application/x-msmediaview"]= "mvb",
-    ["application/x-msmetafile"]= "wmf",
-    ["application/x-msmoney"]= "mny",
-    ["application/x-mspublisher"]= "pub",
-    ["application/x-msschedule"]= "scd",
-    ["application/x-msterminal"]= "trm",
-    ["application/x-mswrite"]= "wri",
-    ["application/x-netcdf"]= "cdf",
-    ["application/x-nzb"]= "nzb",
-    ["application/x-oleobject"]= "hhc",
-    ["application/x-pcapng"]= "pcap",
-    ["application/x-pe-app-32bit-i386"]= "exe",
-    ["application/x-perfmon"]= "pmw",
-    ["application/x-perl"]= "pl",
-    ["application/x-pkcs12"]= "p12",
-    ["application/x-pkcs7-certificates"]= "p7b",
-    ["application/x-pkcs7-certreqresp"]= "p7r",
-    ["application/x-podcast"]= "pcast",
-    ["application/x-python"]= "py",
-    ["application/x-quicktimeplayer"]= "qtl",
-    ["application/x-rar-compressed"]= "rar",
-    ["application/x-research-info-systems"]= "ris",
-    ["application/x-safari-safariextz"]= "safariextz",
-    ["application/x-safari-webarchive"]= "webarchive",
-    ["application/x-sgimb"]= "sgimb",
-    ["application/x-sh"]= "sh",
-    ["application/x-shar"]= "shar",
-    ["application/x-sharedlib"]= "lib",
-    ["application/x-shockwave-flash"]= "swf",
-    ["application/x-silverlight-app"]= "xap",
-    ["application/x-smaf"]= "mmf",
-    ["application/x-sql"]= "sql",
-    ["application/x-stuffit"]= "sit",
-    ["application/x-stuffitx"]= "sitx",
-    ["application/x-subrip"]= "srt",
-    ["application/x-sv4cpio"]= "sv4cpio",
-    ["application/x-sv4crc"]= "sv4crc",
-    ["application/x-t3vm-image"]= "t3",
-    ["application/x-tads"]= "gam",
-    ["application/x-tar"]= "tar",
-    ["application/x-tcl"]= "tcl",
-    ["application/x-tex"]= "tex",
-    ["application/x-tex-tfm"]= "tfm",
-    ["application/x-texinfo"]= "texinfo",
-    ["application/x-tgif"]= "obj",
-    ["application/x-troff"]= "tr",
-    ["application/x-troff-man"]= "man",
-    ["application/x-troff-me"]= "me",
-    ["application/x-troff-ms"]= "ms",
-    ["application/x-ustar"]= "ustar",
-    ["application/x-wais-source"]= "src",
-    ["application/x-wlpg-detect"]= "wlpginstall",
-    ["application/x-wlpg3-detect"]= "wlpginstall3",
-    ["application/x-x509-ca-cert"]= "crt",
-    ["application/x-xfig"]= "fig",
-    ["application/x-xliff+xml"]= "xlf",
-    ["application/x-xpinstall"]= "xpi",
-    ["application/x-xz"]= "xz",
-    ["application/x-zip-compressed"]= "zip",
-    ["application/x-zmachine"]= "z1",
-    ["application/xaml+xml"]= "xaml",
-    ["application/xcap-diff+xml"]= "xdf",
-    ["application/xenc+xml"]= "xenc",
-    ["application/xhtml+xml"]= "xhtml",
-    ["application/xml"]= "xml",
-    ["application/xml-dtd"]= "dtd",
-    ["application/xop+xml"]= "xop",
-    ["application/xproc+xml"]= "xpl",
-    ["application/xslt+xml"]= "xslt",
-    ["application/xspf+xml"]= "xspf",
-    ["application/xv+xml"]= "xvml",
-    ["application/yang"]= "yang",
-    ["application/yin+xml"]= "yin",
-    ["application/zip"]= "zip",
-    ["audio/aac"]= "aac",
-    ["audio/ac3"]= "ac3",
-    ["audio/adpcm"]= "adp",
-    ["audio/aiff"]= "aiff",
-    ["audio/annodex"]= "axa",
-    ["audio/audible"]= "aa",
-    ["audio/basic"]= "au",
-    ["audio/flac"]= "flac",
-    ["audio/m4a"]= "m4a",
-    ["audio/m4b"]= "m4b",
-    ["audio/m4p"]= "m4p",
-    ["audio/mid"]= "midi",
-    ["audio/midi"]= "midi",
-    ["audio/mp4"]= "m4a",
-    ["audio/mpeg"]= "mp3",
-    ["audio/ogg"]= "ogg",
-    ["audio/s3m"]= "s3m",
-    ["audio/scpls"]= "pls",
-    ["audio/silk"]= "sil",
-    ["audio/vnd.audible.aax"]= "aax",
-    ["audio/vnd.dece.audio"]= "uva",
-    ["audio/vnd.digital-winds"]= "eol",
-    ["audio/vnd.dlna.adts"]= "ADT",
-    ["audio/vnd.dra"]= "dra",
-    ["audio/vnd.dts"]= "dts",
-    ["audio/vnd.dts.hd"]= "dtshd",
-    ["audio/vnd.lucent.voice"]= "lvp",
-    ["audio/vnd.ms-playready.media.pya"]= "pya",
-    ["audio/vnd.nuera.ecelp4800"]= "ecelp4800",
-    ["audio/vnd.nuera.ecelp7470"]= "ecelp7470",
-    ["audio/vnd.nuera.ecelp9600"]= "ecelp9600",
-    ["audio/vnd.rip"]= "rip",
-    ["audio/wav"]= "wav",
-    ["audio/webm"]= "weba",
-    ["audio/x-aac"]= "aac",
-    ["audio/x-aiff"]= "aiff",
-    ["audio/x-caf"]= "caf",
-    ["audio/x-flac"]= "flac",
-    ["audio/x-gsm"]= "gsm",
-    ["audio/x-m4a"]= "m4a",
-    ["audio/x-m4r"]= "m4r",
-    ["audio/x-matroska"]= "mka",
-    ["audio/x-mpegurl"]= "m3u",
-    ["audio/x-ms-wax"]= "wax",
-    ["audio/x-ms-wma"]= "wma",
-    ["audio/x-pn-realaudio"]= "ra",
-    ["audio/x-pn-realaudio-plugin"]= "rmp",
-    ["audio/x-sd2"]= "sd2",
-    ["audio/x-smd"]= "smd",
-    ["audio/x-wav"]= "wav",
-    ["audio/xm"]= "xm",
-    ["chemical/x-cdx"]= "cdx",
-    ["chemical/x-cif"]= "cif",
-    ["chemical/x-cmdf"]= "cmdf",
-    ["chemical/x-cml"]= "cml",
-    ["chemical/x-csml"]= "csml",
-    ["chemical/x-xyz"]= "xyz",
-    ["drawing/x-dwf"]= "dwf",
-    ["font/collection"]= "ttc",
-    ["font/otf"]= "otf",
-    ["font/ttf"]= "ttf",
-    ["font/woff"]= "woff",
-    ["font/woff2"]= "woff2",
-    ["image/bmp"]= "bmp",
-    ["image/cgm"]= "cgm",
-    ["image/cis-cod"]= "cod",
-    ["image/g3fax"]= "g3",
-    ["image/gif"]= "gif",
-    ["image/ief"]= "ief",
-    ["image/jpeg"]= "jpg",
-    ["image/ktx"]= "ktx",
-    ["image/pict"]= "pict",
-    ["image/pjpeg"]= "jfif",
-    ["image/png"]= "png",
-    ["image/prs.btif"]= "btif",
-    ["image/sgi"]= "sgi",
-    ["image/svg+xml"]= "svg",
-    ["image/tiff"]= "tiff",
-    ["image/vnd.adobe.photoshop"]= "psd",
-    ["image/vnd.dece.graphic"]= "uvg",
-    ["image/vnd.djvu"]= "djvu",
-    ["image/vnd.dvb.subtitle"]= "sub",
-    ["image/vnd.dwg"]= "dwg",
-    ["image/vnd.dxf"]= "dxf",
-    ["image/vnd.fastbidsheet"]= "fbs",
-    ["image/vnd.fpx"]= "fpx",
-    ["image/vnd.fst"]= "fst",
-    ["image/vnd.fujixerox.edmics-mmr"]= "mmr",
-    ["image/vnd.fujixerox.edmics-rlc"]= "rlc",
-    ["image/vnd.ms-modi"]= "mdi",
-    ["image/vnd.ms-photo"]= "wdp",
-    ["image/vnd.net-fpx"]= "npx",
-    ["image/vnd.rn-realflash"]= "rf",
-    ["image/vnd.wap.wbmp"]= "wbmp",
-    ["image/vnd.xiff"]= "xif",
-    ["image/webp"]= "webp",
-    ["image/x-3ds"]= "3ds",
-    ["image/x-cmu-raster"]= "ras",
-    ["image/x-cmx"]= "cmx",
-    ["image/x-freehand"]= "fh",
-    ["image/x-gif"]= "gif",
-    ["image/x-icon"]= "ico",
-    ["image/x-jg"]= "art",
-    ["image/x-jpeg"]= "jpg",
-    ["image/x-macpaint"]= "mac",
-    ["image/x-mrsid-image"]= "sid",
-    ["image/x-pcx"]= "pcx",
-    ["image/x-pict"]= "pic",
-    ["image/x-png"]= "png",
-    ["image/x-portable-anymap"]= "pnm",
-    ["image/x-portable-bitmap"]= "pbm",
-    ["image/x-portable-graymap"]= "pgm",
-    ["image/x-portable-pixmap"]= "ppm",
-    ["image/x-quicktime"]= "qti",
-    ["image/x-rgb"]= "rgb",
-    ["image/x-tga"]= "tga",
-    ["image/x-xbitmap"]= "xbm",
-    ["image/x-xpixmap"]= "xpm",
-    ["image/x-xwindowdump"]= "xwd",
-    ["message/rfc822"]= "eml",
-    ["model/iges"]= "iges",
-    ["model/mesh"]= "mesh",
-    ["model/vnd.collada+xml"]= "dae",
-    ["model/vnd.dwf"]= "dwf",
-    ["model/vnd.gdl"]= "gdl",
-    ["model/vnd.gtw"]= "gtw",
-    ["model/vnd.mts"]= "mts",
-    ["model/vnd.vtu"]= "vtu",
-    ["model/vrml"]= "vrml",
-    ["model/x3d+binary"]= "x3db",
-    ["model/x3d+vrml"]= "x3dv",
-    ["model/x3d+xml"]= "x3d",
-    ["text/cache-manifest"]= "appcache",
-    ["text/calendar"]= "ics",
-    ["text/css"]= "css",
-    ["text/csv"]= "csv",
-    ["text/dlm"]= "dlm",
-    ["text/h323"]= "323",
-    ["text/html"]= "html",
-    ["text/iuls"]= "uls",
-    ["text/jscript"]= "jsx",
-    ["text/n3"]= "n3",
-    ["text/plain"]= "txt",
-    ["text/prs.lines.tag"]= "dsc",
-    ["text/richtext"]= "rtx",
-    ["text/rtf"]= "rtf",
-    ["text/scriptlet"]= "sct",
-    ["text/sgml"]= "sgml",
-    ["text/tab-separated-values"]= "tsv",
-    ["text/troff"]= "tr",
-    ["text/uri-list"]= "uri",
-    ["text/vbscript"]= "vbs",
-    ["text/vcard"]= "vcard",
-    ["text/vnd.curl"]= "curl",
-    ["text/vnd.curl.dcurl"]= "dcurl",
-    ["text/vnd.curl.mcurl"]= "mcurl",
-    ["text/vnd.curl.scurl"]= "scurl",
-    ["text/vnd.dvb.subtitle"]= "sub",
-    ["text/vnd.fly"]= "fly",
-    ["text/vnd.fmi.flexstor"]= "flx",
-    ["text/vnd.graphviz"]= "gv",
-    ["text/vnd.in3d.3dml"]= "3dml",
-    ["text/vnd.in3d.spot"]= "spot",
-    ["text/vnd.sun.j2me.app-descriptor"]= "jad",
-    ["text/vnd.wap.wml"]= "wml",
-    ["text/vnd.wap.wmlscript"]= "wmls",
-    ["text/vtt"]= "vtt",
-    ["text/webviewhtml"]= "htt",
-    ["text/x-asm"]= "asm",
-    ["text/x-c"]= "c",
-    ["text/x-component"]= "htc",
-    ["text/x-fortran"]= "f",
-    ["text/x-hdml"]= "hdml",
-    ["text/x-html-insertion"]= "qhtm",
-    ["text/x-java-source"]= "java",
-    ["text/x-ms-contact"]= "contact",
-    ["text/x-ms-group"]= "group",
-    ["text/x-ms-iqy"]= "iqy",
-    ["text/x-ms-rqy"]= "rqy",
-    ["text/x-nfo"]= "nfo",
-    ["text/x-opml"]= "opml",
-    ["text/x-pascal"]= "pas",
-    ["text/x-setext"]= "etx",
-    ["text/x-sfv"]= "sfv",
-    ["text/x-uuencode"]= "uu",
-    ["text/x-vcalendar"]= "vcs",
-    ["text/x-vcard"]= "vcf",
-    ["text/xml"]= "xml",
-    ["video/3gpp"]= "3gp",
-    ["video/3gpp2"]= "3g2",
-    ["video/annodex"]= "axv",
-    ["video/divx"]= "divx",
-    ["video/h261"]= "h261",
-    ["video/h263"]= "h263",
-    ["video/h264"]= "h264",
-    ["video/jpeg"]= "jpgv",
-    ["video/jpm"]= "jpm",
-    ["video/mj2"]= "mj2",
-    ["video/mp4"]= "mp4",
-    ["video/mpeg"]= "mpg",
-    ["video/ogg"]= "ogv",
-    ["video/quicktime"]= "mov",
-    ["video/vnd.dece.hd"]= "uvh",
-    ["video/vnd.dece.mobile"]= "uvm",
-    ["video/vnd.dece.pd"]= "uvp",
-    ["video/vnd.dece.sd"]= "uvs",
-    ["video/vnd.dece.video"]= "uvv",
-    ["video/vnd.dlna.mpeg-tts"]= "m2t",
-    ["video/vnd.dvb.file"]= "dvb",
-    ["video/vnd.fvt"]= "fvt",
-    ["video/vnd.mpegurl"]= "m4u",
-    ["video/vnd.ms-playready.media.pyv"]= "pyv",
-    ["video/vnd.uvvu.mp4"]= "uvu",
-    ["video/vnd.vivo"]= "viv",
-    ["video/webm"]= "webm",
-    ["video/x-dv"]= "dv",
-    ["video/x-f4v"]= "f4v",
-    ["video/x-fli"]= "fli",
-    ["video/x-flv"]= "flv",
-    ["video/x-ivf"]= "IVF",
-    ["video/x-la-asf"]= "lsf",
-    ["video/x-m4v"]= "m4v",
-    ["video/x-matroska"]= "mkv",
-    ["video/x-matroska-3d"]= "mk3d",
-    ["video/x-mng"]= "mng",
-    ["video/x-ms-asf"]= "asf",
-    ["video/x-ms-vob"]= "vob",
-    ["video/x-ms-wm"]= "wm",
-    ["video/x-ms-wmp"]= "wmp",
-    ["video/x-ms-wmv"]= "wmv",
-    ["video/x-ms-wmx"]= "wmx",
-    ["video/x-ms-wvx"]= "wvx",
-    ["video/x-msvideo"]= "avi",
-    ["video/x-sgi-movie"]= "movie",
-    ["video/x-smv"]= "smv",
-    ["x-conference/x-cooltalk"]= "ice",
-    ["x-world/x-vrml"]= "wrl"
+    ["application/andrew-inset"] = "ez",
+    ["application/applixware"] = "aw",
+    ["application/atomcat+xml"] = "atomcat",
+    ["application/atomsvc+xml"] = "atomsvc",
+    ["application/atom+xml"] = "atom",
+    ["application/ccxml+xml"] = "ccxml",
+    ["application/cdmi-capability"] = "cdmia",
+    ["application/cdmi-container"] = "cdmic",
+    ["application/cdmi-domain"] = "cdmid",
+    ["application/cdmi-object"] = "cdmio",
+    ["application/cdmi-queue"] = "cdmiq",
+    ["application/cu-seeme"] = "cu",
+    ["application/davmount+xml"] = "davmount",
+    ["application/docbook+xml"] = "dbk",
+    ["application/dssc+der"] = "dssc",
+    ["application/dssc+xml"] = "xdssc",
+    ["application/ecmascript"] = "ecma",
+    ["application/emma+xml"] = "emma",
+    ["application/epub+zip"] = "epub",
+    ["application/exi"] = "exi",
+    ["application/font-tdpfr"] = "pfr",
+    ["application/gml+xml"] = "gml",
+    ["application/gpx+xml"] = "gpx",
+    ["application/gxf"] = "gxf",
+    ["application/hyperstudio"] = "stk",
+    ["application/inkml+xml"] = "inkml",
+    ["application/ipfix"] = "ipfix",
+    ["application/java-archive"] = "jar",
+    ["application/java-serialized-object"] = "ser",
+    ["application/java-vm"] = "class",
+    ["application/json"] = "json",
+    ["application/jsonml+json"] = "jsonml",
+    ["application/lost+xml"] = "lostxml",
+    ["application/mac-binhex40"] = "hqx",
+    ["application/mac-compactpro"] = "cpt",
+    ["application/mads+xml"] = "mads",
+    ["application/marc"] = "mrc",
+    ["application/marcxml+xml"] = "mrcx",
+    ["application/mathematica"] = "ma",
+    ["application/mathml+xml"] = "mathml",
+    ["application/mbox"] = "mbox",
+    ["application/mediaservercontrol+xml"] = "mscml",
+    ["application/metalink4+xml"] = "meta4",
+    ["application/metalink+xml"] = "metalink",
+    ["application/mets+xml"] = "mets",
+    ["application/mods+xml"] = "mods",
+    ["application/mp21"] = "mp21",
+    ["application/mp4"] = "mp4s",
+    ["application/msword"] = "doc",
+    ["application/mxf"] = "mxf",
+    ["application/octet-stream"] = "bin",
+    ["application/oda"] = "oda",
+    ["application/oebps-package+xml"] = "opf",
+    ["application/ogg"] = "ogx",
+    ["application/omdoc+xml"] = "omdoc",
+    ["application/onenote"] = "onepkg",
+    ["application/oxps"] = "oxps",
+    ["application/patch-ops-error+xml"] = "xer",
+    ["application/pdf"] = "pdf",
+    ["application/pgp-encrypted"] = "pgp",
+    ["application/pgp-signature"] = "sig",
+    ["application/pics-rules"] = "prf",
+    ["application/pkcs10"] = "p10",
+    ["application/pkcs7-mime"] = "p7m",
+    ["application/pkcs7-signature"] = "p7s",
+    ["application/pkcs8"] = "p8",
+    ["application/pkix-attr-cert"] = "ac",
+    ["application/pkix-cert"] = "cer",
+    ["application/pkixcmp"] = "pki",
+    ["application/pkix-crl"] = "crl",
+    ["application/pkix-pkipath"] = "pkipath",
+    ["application/pls+xml"] = "pls",
+    ["application/postscript"] = "ps",
+    ["application/prs.cww"] = "cww",
+    ["application/pskc+xml"] = "pskcxml",
+    ["application/rdf+xml"] = "rdf",
+    ["application/reginfo+xml"] = "rif",
+    ["application/relax-ng-compact-syntax"] = "rnc",
+    ["application/resource-lists-diff+xml"] = "rld",
+    ["application/resource-lists+xml"] = "rl",
+    ["application/rls-services+xml"] = "rs",
+    ["application/rpki-ghostbusters"] = "gbr",
+    ["application/rpki-manifest"] = "mft",
+    ["application/rpki-roa"] = "roa",
+    ["application/rsd+xml"] = "rsd",
+    ["application/rss+xml"] = "rss",
+    ["application/rtf"] = "rtf",
+    ["application/sbml+xml"] = "sbml",
+    ["application/scvp-cv-request"] = "scq",
+    ["application/scvp-cv-response"] = "scs",
+    ["application/scvp-vp-request"] = "spq",
+    ["application/scvp-vp-response"] = "spp",
+    ["application/sdp"] = "sdp",
+    ["application/set-payment-initiation"] = "setpay",
+    ["application/set-registration-initiation"] = "setreg",
+    ["application/shf+xml"] = "shf",
+    ["application/smil+xml"] = "smil",
+    ["application/sparql-query"] = "rq",
+    ["application/sparql-results+xml"] = "srx",
+    ["application/srgs"] = "gram",
+    ["application/srgs+xml"] = "grxml",
+    ["application/sru+xml"] = "sru",
+    ["application/ssdl+xml"] = "ssdl",
+    ["application/ssml+xml"] = "ssml",
+    ["application/tei+xml"] = "tei",
+    ["application/thraud+xml"] = "tfi",
+    ["application/timestamped-data"] = "tsd",
+    ["application/vnd.3gpp2.tcap"] = "tcap",
+    ["application/vnd.3gpp.pic-bw-large"] = "plb",
+    ["application/vnd.3gpp.pic-bw-small"] = "psb",
+    ["application/vnd.3gpp.pic-bw-var"] = "pvb",
+    ["application/vnd.3m.post-it-notes"] = "pwn",
+    ["application/vnd.accpac.simply.aso"] = "aso",
+    ["application/vnd.accpac.simply.imp"] = "imp",
+    ["application/vnd.acucobol"] = "acu",
+    ["application/vnd.acucorp"] = "acutc",
+    ["application/vnd.adobe.air-application-installer-package+zip"] = "air",
+    ["application/vnd.adobe.formscentral.fcdt"] = "fcdt",
+    ["application/vnd.adobe.fxp"] = "fxp",
+    ["application/vnd.adobe.xdp+xml"] = "xdp",
+    ["application/vnd.adobe.xfdf"] = "xfdf",
+    ["application/vnd.ahead.space"] = "ahead",
+    ["application/vnd.airzip.filesecure.azf"] = "azf",
+    ["application/vnd.airzip.filesecure.azs"] = "azs",
+    ["application/vnd.amazon.ebook"] = "azw",
+    ["application/vnd.americandynamics.acc"] = "acc",
+    ["application/vnd.amiga.ami"] = "ami",
+    ["application/vnd.android.package-archive"] = "apk",
+    ["application/vnd.anser-web-certificate-issue-initiation"] = "cii",
+    ["application/vnd.anser-web-funds-transfer-initiation"] = "fti",
+    ["application/vnd.antix.game-component"] = "atx",
+    ["application/vnd.apple.installer+xml"] = "mpkg",
+    ["application/vnd.apple.mpegurl"] = "m3u8",
+    ["application/vnd.aristanetworks.swi"] = "swi",
+    ["application/vnd.astraea-software.iota"] = "iota",
+    ["application/vnd.audiograph"] = "aep",
+    ["application/vnd.blueice.multipass"] = "mpm",
+    ["application/vnd.bmi"] = "bmi",
+    ["application/vnd.businessobjects"] = "rep",
+    ["application/vnd.chemdraw+xml"] = "cdxml",
+    ["application/vnd.chipnuts.karaoke-mmd"] = "mmd",
+    ["application/vnd.cinderella"] = "cdy",
+    ["application/vnd.claymore"] = "cla",
+    ["application/vnd.cloanto.rp9"] = "rp9",
+    ["application/vnd.clonk.c4group"] = "c4g",
+    ["application/vnd.cluetrust.cartomobile-config"] = "c11amc",
+    ["application/vnd.cluetrust.cartomobile-config-pkg"] = "c11amz",
+    ["application/vnd.commonspace"] = "csp",
+    ["application/vnd.contact.cmsg"] = "cdbcmsg",
+    ["application/vnd.cosmocaller"] = "cmc",
+    ["application/vnd.crick.clicker"] = "clkx",
+    ["application/vnd.crick.clicker.keyboard"] = "clkk",
+    ["application/vnd.crick.clicker.palette"] = "clkp",
+    ["application/vnd.crick.clicker.template"] = "clkt",
+    ["application/vnd.crick.clicker.wordbank"] = "clkw",
+    ["application/vnd.criticaltools.wbs+xml"] = "wbs",
+    ["application/vnd.ctc-posml"] = "pml",
+    ["application/vnd.cups-ppd"] = "ppd",
+    ["application/vnd.curl.car"] = "car",
+    ["application/vnd.curl.pcurl"] = "pcurl",
+    ["application/vnd.dart"] = "dart",
+    ["application/vnd.data-vision.rdz"] = "rdz",
+    ["application/vnd.dece.data"] = "uvd",
+    ["application/vnd.dece.ttml+xml"] = "uvt",
+    ["application/vnd.dece.unspecified"] = "uvx",
+    ["application/vnd.dece.zip"] = "uvz",
+    ["application/vnd.denovo.fcselayout-link"] = "fe_launch",
+    ["application/vnd.dna"] = "dna",
+    ["application/vnd.dolby.mlp"] = "mlp",
+    ["application/vnd.dpgraph"] = "dpg",
+    ["application/vnd.dreamfactory"] = "dfac",
+    ["application/vnd.ds-keypoint"] = "kpxx",
+    ["application/vnd.dvb.ait"] = "ait",
+    ["application/vnd.dvb.service"] = "svc",
+    ["application/vnd.dynageo"] = "geo",
+    ["application/vnd.ecowin.chart"] = "mag",
+    ["application/vnd.enliven"] = "nml",
+    ["application/vnd.epson.esf"] = "esf",
+    ["application/vnd.epson.msf"] = "msf",
+    ["application/vnd.epson.quickanime"] = "qam",
+    ["application/vnd.epson.salt"] = "slt",
+    ["application/vnd.epson.ssf"] = "ssf",
+    ["application/vnd.eszigno3+xml"] = "es3",
+    ["application/vnd.ezpix-album"] = "ez2",
+    ["application/vnd.ezpix-package"] = "ez3",
+    ["application/vnd.fdf"] = "fdf",
+    ["application/vnd.fdsn.mseed"] = "mseed",
+    ["application/vnd.fdsn.seed"] = "seed",
+    ["application/vnd.flographit"] = "gph",
+    ["application/vnd.fluxtime.clip"] = "ftc",
+    ["application/vnd.framemaker"] = "frame",
+    ["application/vnd.frogans.fnc"] = "fnc",
+    ["application/vnd.frogans.ltf"] = "ltf",
+    ["application/vnd.fsc.weblaunch"] = "fsc",
+    ["application/vnd.fujitsu.oasys2"] = "oa2",
+    ["application/vnd.fujitsu.oasys3"] = "oa3",
+    ["application/vnd.fujitsu.oasysgp"] = "fg5",
+    ["application/vnd.fujitsu.oasys"] = "oas",
+    ["application/vnd.fujitsu.oasysprs"] = "bh2",
+    ["application/vnd.fujixerox.ddd"] = "ddd",
+    ["application/vnd.fujixerox.docuworks.binder"] = "xbd",
+    ["application/vnd.fujixerox.docuworks"] = "xdw",
+    ["application/vnd.fuzzysheet"] = "fzs",
+    ["application/vnd.genomatix.tuxedo"] = "txd",
+    ["application/vnd.geogebra.file"] = "ggb",
+    ["application/vnd.geogebra.slides"] = "ggs",
+    ["application/vnd.geogebra.tool"] = "ggt",
+    ["application/vnd.geometry-explorer"] = "gex",
+    ["application/vnd.geonext"] = "gxt",
+    ["application/vnd.geoplan"] = "g2w",
+    ["application/vnd.geospace"] = "g3w",
+    ["application/vnd.gmx"] = "gmx",
+    ["application/vnd.google-earth.kml+xml"] = "kml",
+    ["application/vnd.google-earth.kmz"] = "kmz",
+    ["application/vnd.grafeq"] = "gqf",
+    ["application/vnd.groove-account"] = "gac",
+    ["application/vnd.groove-help"] = "ghf",
+    ["application/vnd.groove-identity-message"] = "gim",
+    ["application/vnd.groove-injector"] = "grv",
+    ["application/vnd.groove-tool-message"] = "gtm",
+    ["application/vnd.groove-tool-template"] = "tpl",
+    ["application/vnd.groove-vcard"] = "vcg",
+    ["application/vnd.hal+xml"] = "hal",
+    ["application/vnd.handheld-entertainment+xml"] = "zmm",
+    ["application/vnd.hbci"] = "hbci",
+    ["application/vnd.hhe.lesson-player"] = "les",
+    ["application/vnd.hp-hpgl"] = "hpgl",
+    ["application/vnd.hp-hpid"] = "hpid",
+    ["application/vnd.hp-hps"] = "hps",
+    ["application/vnd.hp-jlyt"] = "jlt",
+    ["application/vnd.hp-pcl"] = "pcl",
+    ["application/vnd.hp-pclxl"] = "pclxl",
+    ["application/vnd.hydrostatix.sof-data"] = "sfd-hdstx",
+    ["application/vnd.ibm.minipay"] = "mpy",
+    ["application/vnd.ibm.modcap"] = "afp",
+    ["application/vnd.ibm.rights-management"] = "irm",
+    ["application/vnd.ibm.secure-container"] = "sc",
+    ["application/vnd.iccprofile"] = "icc",
+    ["application/vnd.igloader"] = "igl",
+    ["application/vnd.immervision-ivp"] = "ivp",
+    ["application/vnd.immervision-ivu"] = "ivu",
+    ["application/vnd.insors.igm"] = "igm",
+    ["application/vnd.intercon.formnet"] = "xpw",
+    ["application/vnd.intergeo"] = "i2g",
+    ["application/vnd.intu.qbo"] = "qbo",
+    ["application/vnd.intu.qfx"] = "qfx",
+    ["application/vnd.ipunplugged.rcprofile"] = "rcprofile",
+    ["application/vnd.irepository.package+xml"] = "irp",
+    ["application/vnd.isac.fcs"] = "fcs",
+    ["application/vnd.is-xpr"] = "xpr",
+    ["application/vnd.jam"] = "jam",
+    ["application/vnd.jcp.javame.midlet-rms"] = "rms",
+    ["application/vnd.jisp"] = "jisp",
+    ["application/vnd.joost.joda-archive"] = "joda",
+    ["application/vnd.kahootz"] = "ktz",
+    ["application/vnd.kde.karbon"] = "karbon",
+    ["application/vnd.kde.kchart"] = "chrt",
+    ["application/vnd.kde.kformula"] = "kfo",
+    ["application/vnd.kde.kivio"] = "flw",
+    ["application/vnd.kde.kontour"] = "kon",
+    ["application/vnd.kde.kpresenter"] = "kpr",
+    ["application/vnd.kde.kspread"] = "ksp",
+    ["application/vnd.kde.kword"] = "kwd",
+    ["application/vnd.kenameaapp"] = "htke",
+    ["application/vnd.kidspiration"] = "kia",
+    ["application/vnd.kinar"] = "kne",
+    ["application/vnd.koan"] = "skd",
+    ["application/vnd.kodak-descriptor"] = "sse",
+    ["application/vnd.las.las+xml"] = "lasxml",
+    ["application/vnd.llamagraphics.life-balance.desktop"] = "lbd",
+    ["application/vnd.llamagraphics.life-balance.exchange+xml"] = "lbe",
+    ["application/vnd.lotus-1-2-3"] = "123",
+    ["application/vnd.lotus-approach"] = "apr",
+    ["application/vnd.lotus-freelance"] = "pre",
+    ["application/vnd.lotus-notes"] = "nsf",
+    ["application/vnd.lotus-organizer"] = "org",
+    ["application/vnd.lotus-screencam"] = "scm",
+    ["application/vnd.lotus-wordpro"] = "lwp",
+    ["application/vnd.macports.portpkg"] = "portpkg",
+    ["application/vnd.mcd"] = "mcd",
+    ["application/vnd.medcalcdata"] = "mc1",
+    ["application/vnd.mediastation.cdkey"] = "cdkey",
+    ["application/vnd.mfer"] = "mwf",
+    ["application/vnd.mfmp"] = "mfm",
+    ["application/vnd.micrografx.flo"] = "flo",
+    ["application/vnd.micrografx.igx"] = "igx",
+    ["application/vnd.mif"] = "mif",
+    ["application/vnd.mobius.daf"] = "daf",
+    ["application/vnd.mobius.dis"] = "dis",
+    ["application/vnd.mobius.mbk"] = "mbk",
+    ["application/vnd.mobius.mqy"] = "mqy",
+    ["application/vnd.mobius.msl"] = "msl",
+    ["application/vnd.mobius.plc"] = "plc",
+    ["application/vnd.mobius.txf"] = "txf",
+    ["application/vnd.mophun.application"] = "mpn",
+    ["application/vnd.mophun.certificate"] = "mpc",
+    ["application/vnd.mozilla.xul+xml"] = "xul",
+    ["application/vnd.ms-artgalry"] = "cil",
+    ["application/vnd.ms-cab-compressed"] = "cab",
+    ["application/vnd.mseq"] = "mseq",
+    ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam",
+    ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb",
+    ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm",
+    ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm",
+    ["application/vnd.ms-excel"] = "xls",
+    ["application/vnd.ms-fontobject"] = "eot",
+    ["application/vnd.ms-htmlhelp"] = "chm",
+    ["application/vnd.ms-ims"] = "ims",
+    ["application/vnd.ms-lrm"] = "lrm",
+    ["application/vnd.ms-officetheme"] = "thmx",
+    ["application/vnd.ms-pki.seccat"] = "cat",
+    ["application/vnd.ms-pki.stl"] = "stl",
+    ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam",
+    ["application/vnd.ms-powerpoint"] = "ppt",
+    ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm",
+    ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm",
+    ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm",
+    ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm",
+    ["application/vnd.ms-project"] = "mpp",
+    ["application/vnd.ms-word.document.macroenabled.12"] = "docm",
+    ["application/vnd.ms-word.template.macroenabled.12"] = "dotm",
+    ["application/vnd.ms-works"] = "wps",
+    ["application/vnd.ms-wpl"] = "wpl",
+    ["application/vnd.ms-xpsdocument"] = "xps",
+    ["application/vnd.musician"] = "mus",
+    ["application/vnd.muvee.style"] = "msty",
+    ["application/vnd.mynfc"] = "taglet",
+    ["application/vnd.neurolanguage.nlu"] = "nlu",
+    ["application/vnd.nitf"] = "nitf",
+    ["application/vnd.noblenet-directory"] = "nnd",
+    ["application/vnd.noblenet-sealer"] = "nns",
+    ["application/vnd.noblenet-web"] = "nnw",
+    ["application/vnd.nokia.n-gage.data"] = "ngdat",
+    ["application/vnd.nokia.n-gage.symbian.install"] = "n-gage",
+    ["application/vnd.nokia.radio-preset"] = "rpst",
+    ["application/vnd.nokia.radio-presets"] = "rpss",
+    ["application/vnd.novadigm.edm"] = "edm",
+    ["application/vnd.novadigm.edx"] = "edx",
+    ["application/vnd.novadigm.ext"] = "ext",
+    ["application/vnd.oasis.opendocument.chart"] = "odc",
+    ["application/vnd.oasis.opendocument.chart-template"] = "otc",
+    ["application/vnd.oasis.opendocument.database"] = "odb",
+    ["application/vnd.oasis.opendocument.formula"] = "odf",
+    ["application/vnd.oasis.opendocument.formula-template"] = "odft",
+    ["application/vnd.oasis.opendocument.graphics"] = "odg",
+    ["application/vnd.oasis.opendocument.graphics-template"] = "otg",
+    ["application/vnd.oasis.opendocument.image"] = "odi",
+    ["application/vnd.oasis.opendocument.image-template"] = "oti",
+    ["application/vnd.oasis.opendocument.presentation"] = "odp",
+    ["application/vnd.oasis.opendocument.presentation-template"] = "otp",
+    ["application/vnd.oasis.opendocument.spreadsheet"] = "ods",
+    ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots",
+    ["application/vnd.oasis.opendocument.text-master"] = "odm",
+    ["application/vnd.oasis.opendocument.text"] = "odt",
+    ["application/vnd.oasis.opendocument.text-template"] = "ott",
+    ["application/vnd.oasis.opendocument.text-web"] = "oth",
+    ["application/vnd.olpc-sugar"] = "xo",
+    ["application/vnd.oma.dd2+xml"] = "dd2",
+    ["application/vnd.openofficeorg.extension"] = "oxt",
+    ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx",
+    ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx",
+    ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx",
+    ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx",
+    ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx",
+    ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx",
+    ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"] = "docx",
+    ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"] = "dotx",
+    ["application/vnd.osgeo.mapguide.package"] = "mgp",
+    ["application/vnd.osgi.dp"] = "dp",
+    ["application/vnd.osgi.subsystem"] = "esa",
+    ["application/vnd.palm"] = "pdb",
+    ["application/vnd.pawaafile"] = "paw",
+    ["application/vnd.pg.format"] = "str",
+    ["application/vnd.pg.osasli"] = "ei6",
+    ["application/vnd.picsel"] = "efif",
+    ["application/vnd.pmi.widget"] = "wg",
+    ["application/vnd.pocketlearn"] = "plf",
+    ["application/vnd.powerbuilder6"] = "pbd",
+    ["application/vnd.previewsystems.box"] = "box",
+    ["application/vnd.proteus.magazine"] = "mgz",
+    ["application/vnd.publishare-delta-tree"] = "qps",
+    ["application/vnd.pvi.ptid1"] = "ptid",
+    ["application/vnd.quark.quarkxpress"] = "qxd",
+    ["application/vnd.realvnc.bed"] = "bed",
+    ["application/vnd.recordare.musicxml"] = "mxl",
+    ["application/vnd.recordare.musicxml+xml"] = "musicxml",
+    ["application/vnd.rig.cryptonote"] = "cryptonote",
+    ["application/vnd.rim.cod"] = "cod",
+    ["application/vnd.rn-realmedia"] = "rm",
+    ["application/vnd.rn-realmedia-vbr"] = "rmvb",
+    ["application/vnd.route66.link66+xml"] = "link66",
+    ["application/vnd.sailingtracker.track"] = "st",
+    ["application/vnd.seemail"] = "see",
+    ["application/vnd.sema"] = "sema",
+    ["application/vnd.semd"] = "semd",
+    ["application/vnd.semf"] = "semf",
+    ["application/vnd.shana.informed.formdata"] = "ifm",
+    ["application/vnd.shana.informed.formtemplate"] = "itp",
+    ["application/vnd.shana.informed.interchange"] = "iif",
+    ["application/vnd.shana.informed.package"] = "ipk",
+    ["application/vnd.simtech-mindmapper"] = "twd",
+    ["application/vnd.smaf"] = "mmf",
+    ["application/vnd.smart.teacher"] = "teacher",
+    ["application/vnd.solent.sdkm+xml"] = "sdkm",
+    ["application/vnd.spotfire.dxp"] = "dxp",
+    ["application/vnd.spotfire.sfs"] = "sfs",
+    ["application/vnd.stardivision.calc"] = "sdc",
+    ["application/vnd.stardivision.draw"] = "sda",
+    ["application/vnd.stardivision.impress"] = "sdd",
+    ["application/vnd.stardivision.math"] = "smf",
+    ["application/vnd.stardivision.writer-global"] = "sgl",
+    ["application/vnd.stardivision.writer"] = "sdw",
+    ["application/vnd.stepmania.package"] = "smzip",
+    ["application/vnd.stepmania.stepchart"] = "sm",
+    ["application/vnd.sun.xml.calc"] = "sxc",
+    ["application/vnd.sun.xml.calc.template"] = "stc",
+    ["application/vnd.sun.xml.draw"] = "sxd",
+    ["application/vnd.sun.xml.draw.template"] = "std",
+    ["application/vnd.sun.xml.impress"] = "sxi",
+    ["application/vnd.sun.xml.impress.template"] = "sti",
+    ["application/vnd.sun.xml.math"] = "sxm",
+    ["application/vnd.sun.xml.writer.global"] = "sxg",
+    ["application/vnd.sun.xml.writer"] = "sxw",
+    ["application/vnd.sun.xml.writer.template"] = "stw",
+    ["application/vnd.sus-calendar"] = "sus",
+    ["application/vnd.svd"] = "svd",
+    ["application/vnd.symbian.install"] = "sis",
+    ["application/vnd.syncml.dm+wbxml"] = "bdm",
+    ["application/vnd.syncml.dm+xml"] = "xdm",
+    ["application/vnd.syncml+xml"] = "xsm",
+    ["application/vnd.tao.intent-module-archive"] = "tao",
+    ["application/vnd.tcpdump.pcap"] = "pcap",
+    ["application/vnd.tmobile-livetv"] = "tmo",
+    ["application/vnd.trid.tpt"] = "tpt",
+    ["application/vnd.triscape.mxs"] = "mxs",
+    ["application/vnd.trueapp"] = "tra",
+    ["application/vnd.ufdl"] = "ufdl",
+    ["application/vnd.uiq.theme"] = "utz",
+    ["application/vnd.umajin"] = "umj",
+    ["application/vnd.unity"] = "unityweb",
+    ["application/vnd.uoml+xml"] = "uoml",
+    ["application/vnd.vcx"] = "vcx",
+    ["application/vnd.visionary"] = "vis",
+    ["application/vnd.visio"] = "vsd",
+    ["application/vnd.vsf"] = "vsf",
+    ["application/vnd.wap.wbxml"] = "wbxml",
+    ["application/vnd.wap.wmlc"] = "wmlc",
+    ["application/vnd.wap.wmlscriptc"] = "wmlsc",
+    ["application/vnd.webturbo"] = "wtb",
+    ["application/vnd.wolfram.player"] = "nbp",
+    ["application/vnd.wordperfect"] = "wpd",
+    ["application/vnd.wqd"] = "wqd",
+    ["application/vnd.wt.stf"] = "stf",
+    ["application/vnd.xara"] = "xar",
+    ["application/vnd.xfdl"] = "xfdl",
+    ["application/vnd.yamaha.hv-dic"] = "hvd",
+    ["application/vnd.yamaha.hv-script"] = "hvs",
+    ["application/vnd.yamaha.hv-voice"] = "hvp",
+    ["application/vnd.yamaha.openscoreformat"] = "osf",
+    ["application/vnd.yamaha.openscoreformat.osfpvg+xml"] = "osfpvg",
+    ["application/vnd.yamaha.smaf-audio"] = "saf",
+    ["application/vnd.yamaha.smaf-phrase"] = "spf",
+    ["application/vnd.yellowriver-custom-menu"] = "cmp",
+    ["application/vnd.zul"] = "zir",
+    ["application/vnd.zzazz.deck+xml"] = "zaz",
+    ["application/voicexml+xml"] = "vxml",
+    ["application/wasm"] = "wasm",
+    ["application/widget"] = "wgt",
+    ["application/winhlp"] = "hlp",
+    ["application/wsdl+xml"] = "wsdl",
+    ["application/wspolicy+xml"] = "wspolicy",
+    ["application/x-7z-compressed"] = "7z",
+    ["application/x-abiword"] = "abw",
+    ["application/x-ace-compressed"] = "ace",
+    ["application/xaml+xml"] = "xaml",
+    ["application/x-apple-diskimage"] = "dmg",
+    ["application/x-authorware-bin"] = "aab",
+    ["application/x-bcpio"] = "bcpio",
+    ["application/x-bittorrent"] = "torrent",
+    ["application/x-blorb"] = "blorb",
+    ["application/x-bzip2"] = "bz2",
+    ["application/x-bzip"] = "bz",
+    ["application/xcap-diff+xml"] = "xdf",
+    ["application/x-cbr"] = "cbr",
+    ["application/x-cdlink"] = "vcd",
+    ["application/x-cfs-compressed"] = "cfs",
+    ["application/x-chat"] = "chat",
+    ["application/x-chess-pgn"] = "pgn",
+    ["application/x-conference"] = "nsc",
+    ["application/x-cpio"] = "cpio",
+    ["application/x-csh"] = "csh",
+    ["application/x-debian-package"] = "deb",
+    ["application/x-dgc-compressed"] = "dgc",
+    ["application/x-director"] = "dir",
+    ["application/x-doom"] = "wad",
+    ["application/x-dtbncx+xml"] = "ncx",
+    ["application/x-dtbook+xml"] = "dtb",
+    ["application/x-dtbresource+xml"] = "res",
+    ["application/x-dvi"] = "dvi",
+    ["application/xenc+xml"] = "xenc",
+    ["application/x-envoy"] = "evy",
+    ["application/x-eva"] = "eva",
+    ["application/x-font-bdf"] = "bdf",
+    ["application/x-font-ghostscript"] = "gsf",
+    ["application/x-font-linux-psf"] = "psf",
+    ["application/x-font-pcf"] = "pcf",
+    ["application/x-font-snf"] = "snf",
+    ["application/x-font-type1"] = "pfm",
+    ["application/x-freearc"] = "arc",
+    ["application/x-futuresplash"] = "spl",
+    ["application/x-gca-compressed"] = "gca",
+    ["application/x-glulx"] = "ulx",
+    ["application/x-gnumeric"] = "gnumeric",
+    ["application/x-gramps-xml"] = "gramps",
+    ["application/x-gtar"] = "gtar",
+    ["application/x-hdf"] = "hdf",
+    ["application/xhtml+xml"] = "xhtml",
+    ["application/x-install-instructions"] = "install",
+    ["application/x-iso9660-image"] = "iso",
+    ["application/x-java-jnlp-file"] = "jnlp",
+    ["application/x-latex"] = "latex",
+    ["application/x-lzh-compressed"] = "lzh",
+    ["application/x-mie"] = "mie",
+    ["application/xml-dtd"] = "dtd",
+    ["application/xml"] = "xml",
+    ["application/x-mobipocket-ebook"] = "mobi",
+    ["application/x-msaccess"] = "mdb",
+    ["application/x-ms-application"] = "application",
+    ["application/x-msbinder"] = "obd",
+    ["application/x-mscardfile"] = "crd",
+    ["application/x-msclip"] = "clp",
+    ["application/x-msdownload"] = "msi",
+    ["application/x-msmediaview"] = "mvb",
+    ["application/x-msmetafile"] = "wmf",
+    ["application/x-msmoney"] = "mny",
+    ["application/x-mspublisher"] = "pub",
+    ["application/x-msschedule"] = "scd",
+    ["application/x-ms-shortcut"] = "lnk",
+    ["application/x-msterminal"] = "trm",
+    ["application/x-ms-wmd"] = "wmd",
+    ["application/x-ms-wmz"] = "wmz",
+    ["application/x-mswrite"] = "wri",
+    ["application/x-ms-xbap"] = "xbap",
+    ["application/x-netcdf"] = "cdf",
+    ["application/x-nzb"] = "nzb",
+    ["application/xop+xml"] = "xop",
+    ["application/x-pkcs12"] = "p12",
+    ["application/x-pkcs7-certificates"] = "p7b",
+    ["application/x-pkcs7-certreqresp"] = "p7r",
+    ["application/xproc+xml"] = "xpl",
+    ["application/x-rar-compressed"] = "rar",
+    ["application/x-research-info-systems"] = "ris",
+    ["application/x-shar"] = "shar",
+    ["application/x-shockwave-flash"] = "swf",
+    ["application/x-sh"] = "sh",
+    ["application/x-silverlight-app"] = "xap",
+    ["application/xslt+xml"] = "xslt",
+    ["application/xspf+xml"] = "xspf",
+    ["application/x-sql"] = "sql",
+    ["application/x-stuffit"] = "sit",
+    ["application/x-stuffitx"] = "sitx",
+    ["application/x-subrip"] = "srt",
+    ["application/x-sv4cpio"] = "sv4cpio",
+    ["application/x-sv4crc"] = "sv4crc",
+    ["application/x-t3vm-image"] = "t3",
+    ["application/x-tads"] = "gam",
+    ["application/x-tar"] = "tar",
+    ["application/x-tcl"] = "tcl",
+    ["application/x-texinfo"] = "texinfo",
+    ["application/x-tex"] = "tex",
+    ["application/x-tex-tfm"] = "tfm",
+    ["application/x-tgif"] = "obj",
+    ["application/x-ustar"] = "ustar",
+    ["application/xv+xml"] = "xvml",
+    ["application/x-wais-source"] = "src",
+    ["application/x-x509-ca-cert"] = "crt",
+    ["application/x-xfig"] = "fig",
+    ["application/x-xliff+xml"] = "xlf",
+    ["application/x-xpinstall"] = "xpi",
+    ["application/x-xz"] = "xz",
+    ["application/x-zmachine"] = "z1",
+    ["application/yang"] = "yang",
+    ["application/yin+xml"] = "yin",
+    ["application/zip"] = "zip",
+    ["audio/adpcm"] = "adp",
+    ["audio/basic"] = "au",
+    ["audio/midi"] = "mid",
+    ["audio/mp4"] = "m4a",
+    ["audio/mpeg"] = "mpga",
+    ["audio/ogg"] = "ogg",
+    ["audio/s3m"] = "s3m",
+    ["audio/silk"] = "sil",
+    ["audio/vnd.dece.audio"] = "uva",
+    ["audio/vnd.digital-winds"] = "eol",
+    ["audio/vnd.dra"] = "dra",
+    ["audio/vnd.dts"] = "dts",
+    ["audio/vnd.dts.hd"] = "dtshd",
+    ["audio/vnd.lucent.voice"] = "lvp",
+    ["audio/vnd.ms-playready.media.pya"] = "pya",
+    ["audio/vnd.nuera.ecelp4800"] = "ecelp4800",
+    ["audio/vnd.nuera.ecelp7470"] = "ecelp7470",
+    ["audio/vnd.nuera.ecelp9600"] = "ecelp9600",
+    ["audio/vnd.rip"] = "rip",
+    ["audio/webm"] = "weba",
+    ["audio/x-aac"] = "aac",
+    ["audio/x-aiff"] = "aiff",
+    ["audio/x-caf"] = "caf",
+    ["audio/x-flac"] = "flac",
+    ["audio/x-matroska"] = "mka",
+    ["audio/x-mpegurl"] = "m3u",
+    ["audio/x-ms-wax"] = "wax",
+    ["audio/x-ms-wma"] = "wma",
+    ["audio/xm"] = "xm",
+    ["audio/x-pn-realaudio-plugin"] = "rmp",
+    ["audio/x-pn-realaudio"] = "ra",
+    ["audio/x-wav"] = "wav",
+    ["chemical/x-cdx"] = "cdx",
+    ["chemical/x-cif"] = "cif",
+    ["chemical/x-cmdf"] = "cmdf",
+    ["chemical/x-cml"] = "cml",
+    ["chemical/x-csml"] = "csml",
+    ["chemical/x-xyz"] = "xyz",
+    ["font/collection"] = "ttc",
+    ["font/otf"] = "otf",
+    ["font/ttf"] = "ttf",
+    ["font/woff2"] = "woff2",
+    ["font/woff"] = "woff",
+    ["image/bmp"] = "bmp",
+    ["image/cgm"] = "cgm",
+    ["image/g3fax"] = "g3",
+    ["image/gif"] = "gif",
+    ["image/ief"] = "ief",
+    ["image/jpeg"] = "jpg",
+    ["image/ktx"] = "ktx",
+    ["image/png"] = "png",
+    ["image/prs.btif"] = "btif",
+    ["image/sgi"] = "sgi",
+    ["image/svg+xml"] = "svg",
+    ["image/tiff"] = "tiff",
+    ["image/vnd.adobe.photoshop"] = "psd",
+    ["image/vnd.dece.graphic"] = "uvg",
+    ["image/vnd.djvu"] = "djvu",
+    ["image/vnd.dvb.subtitle"] = "sub",
+    ["image/vnd.dwg"] = "dwg",
+    ["image/vnd.dxf"] = "dxf",
+    ["image/vnd.fastbidsheet"] = "fbs",
+    ["image/vnd.fpx"] = "fpx",
+    ["image/vnd.fst"] = "fst",
+    ["image/vnd.fujixerox.edmics-mmr"] = "mmr",
+    ["image/vnd.fujixerox.edmics-rlc"] = "rlc",
+    ["image/vnd.ms-modi"] = "mdi",
+    ["image/vnd.ms-photo"] = "wdp",
+    ["image/vnd.net-fpx"] = "npx",
+    ["image/vnd.wap.wbmp"] = "wbmp",
+    ["image/vnd.xiff"] = "xif",
+    ["image/webp"] = "webp",
+    ["image/x-3ds"] = "3ds",
+    ["image/x-cmu-raster"] = "ras",
+    ["image/x-cmx"] = "cmx",
+    ["image/x-freehand"] = "fh",
+    ["image/x-icon"] = "ico",
+    ["image/x-mrsid-image"] = "sid",
+    ["image/x-pcx"] = "pcx",
+    ["image/x-pict"] = "pct",
+    ["image/x-portable-anymap"] = "pnm",
+    ["image/x-portable-bitmap"] = "pbm",
+    ["image/x-portable-graymap"] = "pgm",
+    ["image/x-portable-pixmap"] = "ppm",
+    ["image/x-rgb"] = "rgb",
+    ["image/x-tga"] = "tga",
+    ["image/x-xbitmap"] = "xbm",
+    ["image/x-xpixmap"] = "xpm",
+    ["image/x-xwindowdump"] = "xwd",
+    ["message/rfc822"] = "mime",
+    ["model/iges"] = "iges",
+    ["model/mesh"] = "mesh",
+    ["model/vnd.collada+xml"] = "dae",
+    ["model/vnd.dwf"] = "dwf",
+    ["model/vnd.gdl"] = "gdl",
+    ["model/vnd.gtw"] = "gtw",
+    ["model/vnd.mts"] = "mts",
+    ["model/vnd.vtu"] = "vtu",
+    ["model/vrml"] = "vrml",
+    ["model/x3d+binary"] = "x3db",
+    ["model/x3d+vrml"] = "x3dv",
+    ["model/x3d+xml"] = "x3d",
+    ["text/cache-manifest"] = "appcache",
+    ["text/calendar"] = "ics",
+    ["text/css"] = "css",
+    ["text/csv"] = "csv",
+    ["text/html"] = "html",
+    ["text/javascript"] = "js",
+    ["text/n3"] = "n3",
+    ["text/plain"] = "txt",
+    ["text/prs.lines.tag"] = "dsc",
+    ["text/richtext"] = "rtx",
+    ["text/sgml"] = "sgml",
+    ["text/tab-separated-values"] = "tsv",
+    ["text/troff"] = "tr",
+    ["text/turtle"] = "ttl",
+    ["text/uri-list"] = "uri",
+    ["text/vcard"] = "vcard",
+    ["text/vnd.curl"] = "curl",
+    ["text/vnd.curl.dcurl"] = "dcurl",
+    ["text/vnd.curl.mcurl"] = "mcurl",
+    ["text/vnd.curl.scurl"] = "scurl",
+    ["text/vnd.dvb.subtitle"] = "sub",
+    ["text/vnd.fly"] = "fly",
+    ["text/vnd.fmi.flexstor"] = "flx",
+    ["text/vnd.graphviz"] = "gv",
+    ["text/vnd.in3d.3dml"] = "3dml",
+    ["text/vnd.in3d.spot"] = "spot",
+    ["text/vnd.sun.j2me.app-descriptor"] = "jad",
+    ["text/vnd.wap.wmlscript"] = "wmls",
+    ["text/vnd.wap.wml"] = "wml",
+    ["text/x-asm"] = "asm",
+    ["text/x-c"] = "c",
+    ["text/x-fortran"] = "f",
+    ["text/x-java-source"] = "java",
+    ["text/x-nfo"] = "nfo",
+    ["text/x-opml"] = "opml",
+    ["text/x-pascal"] = "pas",
+    ["text/x-setext"] = "etx",
+    ["text/x-sfv"] = "sfv",
+    ["text/x-uuencode"] = "uu",
+    ["text/x-vcalendar"] = "vcs",
+    ["text/x-vcard"] = "vcf",
+    ["video/3gpp2"] = "3g2",
+    ["video/3gpp"] = "3gp",
+    ["video/h261"] = "h261",
+    ["video/h263"] = "h263",
+    ["video/h264"] = "h264",
+    ["video/jpeg"] = "jpgv",
+    ["video/jpm"] = "jpm",
+    ["video/mj2"] = "mj2",
+    ["video/mp4"] = "mp4",
+    ["video/mpeg"] = "mpg",
+    ["video/ogg"] = "ogv",
+    ["video/quicktime"] = "mov",
+    ["video/vnd.dece.hd"] = "uvh",
+    ["video/vnd.dece.mobile"] = "uvm",
+    ["video/vnd.dece.pd"] = "uvp",
+    ["video/vnd.dece.sd"] = "uvs",
+    ["video/vnd.dece.video"] = "uvv",
+    ["video/vnd.dvb.file"] = "dvb",
+    ["video/vnd.fvt"] = "fvt",
+    ["video/vnd.mpegurl"] = "m4u",
+    ["video/vnd.ms-playready.media.pyv"] = "pyv",
+    ["video/vnd.uvvu.mp4"] = "uvu",
+    ["video/vnd.vivo"] = "viv",
+    ["video/webm"] = "webm",
+    ["video/x-f4v"] = "f4v",
+    ["video/x-fli"] = "fli",
+    ["video/x-flv"] = "flv",
+    ["video/x-m4v"] = "m4v",
+    ["video/x-matroska"] = "mkv",
+    ["video/x-mng"] = "mng",
+    ["video/x-ms-asf"] = "asf",
+    ["video/x-msvideo"] = "avi",
+    ["video/x-ms-vob"] = "vob",
+    ["video/x-ms-wmv"] = "wmv",
+    ["video/x-ms-wm"] = "wm",
+    ["video/x-ms-wmx"] = "wmx",
+    ["video/x-ms-wvx"] = "wvx",
+    ["video/x-sgi-movie"] = "movie",
+    ["video/x-smv"] = "smv",
+    ["x-conference/x-cooltalk"] = "ice"
   } &default="bin" &redef;
 }

From 810e9386cbc0adf999539044478ea7342c5717ed Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Mon, 8 Jan 2024 14:34:15 -0700
Subject: [PATCH 51/88] idaholab/Malcolm#290, add 'all files except common
 plain text files' to file carving option for Malcolm

---
 .../share/zeek/site/extractor_params.zeek     | 274 ++++++++++++++----
 .../zeek/extractor_override.interesting.zeek  |   1 +
 .../extractor_override.interesting.zeek       |   1 +
 zeek/config/extractor_params.zeek             | 274 ++++++++++++++----
 4 files changed, 434 insertions(+), 116 deletions(-)

diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
index e72dd0f15..b693186bd 100644
--- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
+++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
@@ -23,11 +23,14 @@ export {
 
   # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort
   const extractor_mime_to_ext_map : table[string] of string = {
+    ["application/acad"] = "dwg",
     ["application/andrew-inset"] = "ez",
+    ["application/annodex"] = "anx",
     ["application/applixware"] = "aw",
+    ["application/atom+xml"] = "atom",
     ["application/atomcat+xml"] = "atomcat",
     ["application/atomsvc+xml"] = "atomsvc",
-    ["application/atom+xml"] = "atom",
+    ["application/binary"] = "bin",
     ["application/ccxml+xml"] = "ccxml",
     ["application/cdmi-capability"] = "cdmia",
     ["application/cdmi-container"] = "cdmic",
@@ -36,25 +39,36 @@ export {
     ["application/cdmi-queue"] = "cdmiq",
     ["application/cu-seeme"] = "cu",
     ["application/davmount+xml"] = "davmount",
+    ["application/directx"] = "x",
     ["application/docbook+xml"] = "dbk",
     ["application/dssc+der"] = "dssc",
     ["application/dssc+xml"] = "xdssc",
-    ["application/ecmascript"] = "ecma",
+    ["application/ecmascript"] = "es",
     ["application/emma+xml"] = "emma",
+    ["application/envoy"] = "evy",
     ["application/epub+zip"] = "epub",
+    ["application/etl"] = "etl",
     ["application/exi"] = "exi",
+    ["application/font-sfnt"] = "ttf",
     ["application/font-tdpfr"] = "pfr",
+    ["application/fractals"] = "fif",
+    ["application/fsharp-script"] = "fsscript",
+    ["application/futuresplash"] = "spl",
     ["application/gml+xml"] = "gml",
     ["application/gpx+xml"] = "gpx",
     ["application/gxf"] = "gxf",
+    ["application/hta"] = "hta",
     ["application/hyperstudio"] = "stk",
     ["application/inkml+xml"] = "inkml",
+    ["application/internet-property-stream"] = "acx",
     ["application/ipfix"] = "ipfix",
     ["application/java-archive"] = "jar",
     ["application/java-serialized-object"] = "ser",
     ["application/java-vm"] = "class",
+    ["application/javascript"] = "js",
     ["application/json"] = "json",
     ["application/jsonml+json"] = "jsonml",
+    ["application/liquidmotion"] = "jck",
     ["application/lost+xml"] = "lostxml",
     ["application/mac-binhex40"] = "hqx",
     ["application/mac-compactpro"] = "cpt",
@@ -65,44 +79,58 @@ export {
     ["application/mathml+xml"] = "mathml",
     ["application/mbox"] = "mbox",
     ["application/mediaservercontrol+xml"] = "mscml",
-    ["application/metalink4+xml"] = "meta4",
     ["application/metalink+xml"] = "metalink",
+    ["application/metalink4+xml"] = "meta4",
     ["application/mets+xml"] = "mets",
     ["application/mods+xml"] = "mods",
     ["application/mp21"] = "mp21",
     ["application/mp4"] = "mp4s",
+    ["application/mpeg"] = "amc",
+    ["application/ms-vsi"] = "vsi",
+    ["application/msaccess"] = "accdb",
+    ["application/msaccess.addin"] = "accda",
+    ["application/msaccess.cab"] = "accdc",
+    ["application/msaccess.ftemplate"] = "accft",
+    ["application/msaccess.runtime"] = "accdr",
+    ["application/msaccess.webapplication"] = "accdw",
+    ["application/msexcel"] = "xls",
+    ["application/mspowerpoint"] = "ppt",
     ["application/msword"] = "doc",
     ["application/mxf"] = "mxf",
     ["application/octet-stream"] = "bin",
     ["application/oda"] = "oda",
     ["application/oebps-package+xml"] = "opf",
     ["application/ogg"] = "ogx",
+    ["application/olescript"] = "axs",
     ["application/omdoc+xml"] = "omdoc",
-    ["application/onenote"] = "onepkg",
+    ["application/onenote"] = "one",
+    ["application/opensearchdescription+xml"] = "osdx",
     ["application/oxps"] = "oxps",
     ["application/patch-ops-error+xml"] = "xer",
     ["application/pdf"] = "pdf",
     ["application/pgp-encrypted"] = "pgp",
-    ["application/pgp-signature"] = "sig",
+    ["application/pgp-signature"] = "pgp",
     ["application/pics-rules"] = "prf",
     ["application/pkcs10"] = "p10",
-    ["application/pkcs7-mime"] = "p7m",
+    ["application/pkcs7-mime"] = "p7c",
     ["application/pkcs7-signature"] = "p7s",
     ["application/pkcs8"] = "p8",
     ["application/pkix-attr-cert"] = "ac",
     ["application/pkix-cert"] = "cer",
-    ["application/pkixcmp"] = "pki",
     ["application/pkix-crl"] = "crl",
     ["application/pkix-pkipath"] = "pkipath",
+    ["application/pkixcmp"] = "pki",
     ["application/pls+xml"] = "pls",
     ["application/postscript"] = "ps",
+    ["application/PowerShell"] = "psc1",
     ["application/prs.cww"] = "cww",
     ["application/pskc+xml"] = "pskcxml",
+    ["application/rat-file"] = "rat",
     ["application/rdf+xml"] = "rdf",
     ["application/reginfo+xml"] = "rif",
     ["application/relax-ng-compact-syntax"] = "rnc",
-    ["application/resource-lists-diff+xml"] = "rld",
     ["application/resource-lists+xml"] = "rl",
+    ["application/resource-lists-diff+xml"] = "rld",
     ["application/rls-services+xml"] = "rs",
     ["application/rpki-ghostbusters"] = "gbr",
     ["application/rpki-manifest"] = "mft",
@@ -127,13 +155,15 @@ export {
     ["application/sru+xml"] = "sru",
     ["application/ssdl+xml"] = "ssdl",
     ["application/ssml+xml"] = "ssml",
+    ["application/step"] = "step",
+    ["application/streamingmedia"] = "ssm",
     ["application/tei+xml"] = "tei",
     ["application/thraud+xml"] = "tfi",
     ["application/timestamped-data"] = "tsd",
-    ["application/vnd.3gpp2.tcap"] = "tcap",
     ["application/vnd.3gpp.pic-bw-large"] = "plb",
     ["application/vnd.3gpp.pic-bw-small"] = "psb",
     ["application/vnd.3gpp.pic-bw-var"] = "pvb",
+    ["application/vnd.3gpp2.tcap"] = "tcap",
     ["application/vnd.3m.post-it-notes"] = "pwn",
     ["application/vnd.accpac.simply.aso"] = "aso",
     ["application/vnd.accpac.simply.imp"] = "imp",
@@ -213,18 +243,18 @@ export {
     ["application/vnd.fdsn.seed"] = "seed",
     ["application/vnd.flographit"] = "gph",
     ["application/vnd.fluxtime.clip"] = "ftc",
-    ["application/vnd.framemaker"] = "frame",
+    ["application/vnd.framemaker"] = "fm",
     ["application/vnd.frogans.fnc"] = "fnc",
     ["application/vnd.frogans.ltf"] = "ltf",
     ["application/vnd.fsc.weblaunch"] = "fsc",
+    ["application/vnd.fujitsu.oasys"] = "oas",
     ["application/vnd.fujitsu.oasys2"] = "oa2",
     ["application/vnd.fujitsu.oasys3"] = "oa3",
     ["application/vnd.fujitsu.oasysgp"] = "fg5",
-    ["application/vnd.fujitsu.oasys"] = "oas",
     ["application/vnd.fujitsu.oasysprs"] = "bh2",
     ["application/vnd.fujixerox.ddd"] = "ddd",
-    ["application/vnd.fujixerox.docuworks.binder"] = "xbd",
     ["application/vnd.fujixerox.docuworks"] = "xdw",
+    ["application/vnd.fujixerox.docuworks.binder"] = "xbd",
     ["application/vnd.fuzzysheet"] = "fzs",
     ["application/vnd.genomatix.tuxedo"] = "txd",
     ["application/vnd.geogebra.file"] = "ggb",
@@ -271,8 +301,8 @@ export {
     ["application/vnd.intu.qfx"] = "qfx",
     ["application/vnd.ipunplugged.rcprofile"] = "rcprofile",
     ["application/vnd.irepository.package+xml"] = "irp",
-    ["application/vnd.isac.fcs"] = "fcs",
     ["application/vnd.is-xpr"] = "xpr",
+    ["application/vnd.isac.fcs"] = "fcs",
     ["application/vnd.jam"] = "jam",
     ["application/vnd.jcp.javame.midlet-rms"] = "rms",
     ["application/vnd.jisp"] = "jisp",
@@ -283,7 +313,7 @@ export {
     ["application/vnd.kde.kformula"] = "kfo",
     ["application/vnd.kde.kivio"] = "flw",
     ["application/vnd.kde.kontour"] = "kon",
-    ["application/vnd.kde.kpresenter"] = "kpr",
+    ["application/vnd.kde.kpresenter"] = "kpt",
     ["application/vnd.kde.kspread"] = "ksp",
     ["application/vnd.kde.kword"] = "kwd",
     ["application/vnd.kenameaapp"] = "htke",
@@ -309,6 +339,7 @@ export {
     ["application/vnd.mfmp"] = "mfm",
     ["application/vnd.micrografx.flo"] = "flo",
     ["application/vnd.micrografx.igx"] = "igx",
+    ["application/vnd.microsoft.portable-executable"] = "exe",
     ["application/vnd.mif"] = "mif",
     ["application/vnd.mobius.daf"] = "daf",
     ["application/vnd.mobius.dis"] = "dis",
@@ -322,31 +353,48 @@ export {
     ["application/vnd.mozilla.xul+xml"] = "xul",
     ["application/vnd.ms-artgalry"] = "cil",
     ["application/vnd.ms-cab-compressed"] = "cab",
-    ["application/vnd.mseq"] = "mseq",
+    ["application/vnd.ms-excel"] = "xls",
     ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam",
+    ["application/vnd.ms-excel.addin.macroEnabled.12"] = "xlam",
     ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb",
+    ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"] = "xlsb",
     ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm",
+    ["application/vnd.ms-excel.sheet.macroEnabled.12"] = "xlsm",
     ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm",
-    ["application/vnd.ms-excel"] = "xls",
+    ["application/vnd.ms-excel.template.macroEnabled.12"] = "xltm",
     ["application/vnd.ms-fontobject"] = "eot",
     ["application/vnd.ms-htmlhelp"] = "chm",
     ["application/vnd.ms-ims"] = "ims",
     ["application/vnd.ms-lrm"] = "lrm",
+    ["application/vnd.ms-mediapackage"] = "mpf",
+    ["application/vnd.ms-office.calx"] = "calx",
     ["application/vnd.ms-officetheme"] = "thmx",
+    ["application/vnd.ms-outlook"] = "msg",
+    ["application/vnd.ms-pki.certstore"] = "sst",
+    ["application/vnd.ms-pki.pko"] = "pko",
     ["application/vnd.ms-pki.seccat"] = "cat",
     ["application/vnd.ms-pki.stl"] = "stl",
-    ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam",
     ["application/vnd.ms-powerpoint"] = "ppt",
+    ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam",
+    ["application/vnd.ms-powerpoint.addin.macroEnabled.12"] = "ppam",
     ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm",
+    ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"] = "pptm",
     ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm",
+    ["application/vnd.ms-powerpoint.slide.macroEnabled.12"] = "sldm",
     ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm",
+    ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"] = "ppsm",
     ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm",
-    ["application/vnd.ms-project"] = "mpp",
+    ["application/vnd.ms-powerpoint.template.macroEnabled.12"] = "potm",
+    ["application/vnd.ms-project"] = "mpt",
+    ["application/vnd.ms-visio.viewer"] = "vdx",
     ["application/vnd.ms-word.document.macroenabled.12"] = "docm",
+    ["application/vnd.ms-word.document.macroEnabled.12"] = "docm",
     ["application/vnd.ms-word.template.macroenabled.12"] = "dotm",
-    ["application/vnd.ms-works"] = "wps",
+    ["application/vnd.ms-word.template.macroEnabled.12"] = "dotm",
+    ["application/vnd.ms-works"] = "wks",
     ["application/vnd.ms-wpl"] = "wpl",
     ["application/vnd.ms-xpsdocument"] = "xps",
+    ["application/vnd.mseq"] = "mseq",
     ["application/vnd.musician"] = "mus",
     ["application/vnd.muvee.style"] = "msty",
     ["application/vnd.mynfc"] = "taglet",
@@ -375,16 +423,16 @@ export {
     ["application/vnd.oasis.opendocument.presentation-template"] = "otp",
     ["application/vnd.oasis.opendocument.spreadsheet"] = "ods",
     ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots",
-    ["application/vnd.oasis.opendocument.text-master"] = "odm",
     ["application/vnd.oasis.opendocument.text"] = "odt",
+    ["application/vnd.oasis.opendocument.text-master"] = "odm",
     ["application/vnd.oasis.opendocument.text-template"] = "ott",
     ["application/vnd.oasis.opendocument.text-web"] = "oth",
     ["application/vnd.olpc-sugar"] = "xo",
     ["application/vnd.oma.dd2+xml"] = "dd2",
     ["application/vnd.openofficeorg.extension"] = "oxt",
     ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx",
-    ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx",
     ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx",
+    ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx",
     ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx",
     ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx",
     ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx",
@@ -405,7 +453,7 @@ export {
     ["application/vnd.proteus.magazine"] = "mgz",
     ["application/vnd.publishare-delta-tree"] = "qps",
     ["application/vnd.pvi.ptid1"] = "ptid",
-    ["application/vnd.quark.quarkxpress"] = "qxd",
+    ["application/vnd.quark.quarkxpress"] = "qxt",
     ["application/vnd.realvnc.bed"] = "bed",
     ["application/vnd.recordare.musicxml"] = "mxl",
     ["application/vnd.recordare.musicxml+xml"] = "musicxml",
@@ -413,6 +461,7 @@ export {
     ["application/vnd.rim.cod"] = "cod",
     ["application/vnd.rn-realmedia"] = "rm",
     ["application/vnd.rn-realmedia-vbr"] = "rmvb",
+    ["application/vnd.rn-rn_music_package"] = "rmp",
     ["application/vnd.route66.link66+xml"] = "link66",
     ["application/vnd.sailingtracker.track"] = "st",
     ["application/vnd.seemail"] = "see",
@@ -433,8 +482,8 @@ export {
     ["application/vnd.stardivision.draw"] = "sda",
     ["application/vnd.stardivision.impress"] = "sdd",
     ["application/vnd.stardivision.math"] = "smf",
-    ["application/vnd.stardivision.writer-global"] = "sgl",
     ["application/vnd.stardivision.writer"] = "sdw",
+    ["application/vnd.stardivision.writer-global"] = "sgl",
     ["application/vnd.stepmania.package"] = "smzip",
     ["application/vnd.stepmania.stepchart"] = "sm",
     ["application/vnd.sun.xml.calc"] = "sxc",
@@ -444,15 +493,15 @@ export {
     ["application/vnd.sun.xml.impress"] = "sxi",
     ["application/vnd.sun.xml.impress.template"] = "sti",
     ["application/vnd.sun.xml.math"] = "sxm",
-    ["application/vnd.sun.xml.writer.global"] = "sxg",
     ["application/vnd.sun.xml.writer"] = "sxw",
+    ["application/vnd.sun.xml.writer.global"] = "sxg",
     ["application/vnd.sun.xml.writer.template"] = "stw",
     ["application/vnd.sus-calendar"] = "sus",
     ["application/vnd.svd"] = "svd",
     ["application/vnd.symbian.install"] = "sis",
+    ["application/vnd.syncml+xml"] = "xsm",
     ["application/vnd.syncml.dm+wbxml"] = "bdm",
     ["application/vnd.syncml.dm+xml"] = "xdm",
-    ["application/vnd.syncml+xml"] = "xsm",
     ["application/vnd.tao.intent-module-archive"] = "tao",
     ["application/vnd.tcpdump.pcap"] = "pcap",
     ["application/vnd.tmobile-livetv"] = "tmo",
@@ -465,8 +514,8 @@ export {
     ["application/vnd.unity"] = "unityweb",
     ["application/vnd.uoml+xml"] = "uoml",
     ["application/vnd.vcx"] = "vcx",
-    ["application/vnd.visionary"] = "vis",
     ["application/vnd.visio"] = "vsd",
+    ["application/vnd.visionary"] = "vis",
     ["application/vnd.vsf"] = "vsf",
     ["application/vnd.wap.wbxml"] = "wbxml",
     ["application/vnd.wap.wmlc"] = "wmlc",
@@ -489,28 +538,35 @@ export {
     ["application/vnd.zul"] = "zir",
     ["application/vnd.zzazz.deck+xml"] = "zaz",
     ["application/voicexml+xml"] = "vxml",
+    ["application/vsix"] = "vsix",
     ["application/wasm"] = "wasm",
     ["application/widget"] = "wgt",
+    ["application/windows-library+xml"] = "library-ms",
+    ["application/windows-search-connector+xml"] = "searchConnector-ms",
     ["application/winhlp"] = "hlp",
+    ["application/wlmoviemaker"] = "WLMP",
     ["application/wsdl+xml"] = "wsdl",
     ["application/wspolicy+xml"] = "wspolicy",
     ["application/x-7z-compressed"] = "7z",
     ["application/x-abiword"] = "abw",
     ["application/x-ace-compressed"] = "ace",
-    ["application/xaml+xml"] = "xaml",
     ["application/x-apple-diskimage"] = "dmg",
     ["application/x-authorware-bin"] = "aab",
+    ["application/x-authorware-map"] = "aam",
+    ["application/x-authorware-seg"] = "aas",
     ["application/x-bcpio"] = "bcpio",
     ["application/x-bittorrent"] = "torrent",
     ["application/x-blorb"] = "blorb",
-    ["application/x-bzip2"] = "bz2",
+    ["application/x-bridge-url"] = "adobebridge",
     ["application/x-bzip"] = "bz",
-    ["application/xcap-diff+xml"] = "xdf",
+    ["application/x-bzip2"] = "bz2",
     ["application/x-cbr"] = "cbr",
     ["application/x-cdlink"] = "vcd",
     ["application/x-cfs-compressed"] = "cfs",
     ["application/x-chat"] = "chat",
     ["application/x-chess-pgn"] = "pgn",
+    ["application/x-compress"] = "z",
+    ["application/x-compressed"] = "tgz",
     ["application/x-conference"] = "nsc",
     ["application/x-cpio"] = "cpio",
     ["application/x-csh"] = "csh",
@@ -518,13 +574,16 @@ export {
     ["application/x-dgc-compressed"] = "dgc",
     ["application/x-director"] = "dir",
     ["application/x-doom"] = "wad",
+    ["application/x-dosexec"] = "exe",
     ["application/x-dtbncx+xml"] = "ncx",
     ["application/x-dtbook+xml"] = "dtb",
     ["application/x-dtbresource+xml"] = "res",
     ["application/x-dvi"] = "dvi",
-    ["application/xenc+xml"] = "xenc",
+    ["application/x-dxf"] = "dxf",
+    ["application/x-elf"] = "elf",
     ["application/x-envoy"] = "evy",
     ["application/x-eva"] = "eva",
+    ["application/x-executable"] = "exe",
     ["application/x-font-bdf"] = "bdf",
     ["application/x-font-ghostscript"] = "gsf",
     ["application/x-font-linux-psf"] = "psf",
@@ -538,49 +597,75 @@ export {
     ["application/x-gnumeric"] = "gnumeric",
     ["application/x-gramps-xml"] = "gramps",
     ["application/x-gtar"] = "gtar",
+    ["application/x-gzip"] = "gz",
     ["application/x-hdf"] = "hdf",
-    ["application/xhtml+xml"] = "xhtml",
     ["application/x-install-instructions"] = "install",
+    ["application/x-internet-signup"] = "isp",
+    ["application/x-iphone"] = "iii",
     ["application/x-iso9660-image"] = "iso",
+    ["application/x-itunes-ipa"] = "ipa",
+    ["application/x-itunes-ipg"] = "ipg",
+    ["application/x-itunes-ipsw"] = "ipsw",
+    ["application/x-itunes-ite"] = "ite",
+    ["application/x-itunes-itlp"] = "itlp",
+    ["application/x-itunes-itms"] = "itms",
+    ["application/x-itunes-itpc"] = "itpc",
+    ["application/x-java-applet"] = "class",
     ["application/x-java-jnlp-file"] = "jnlp",
+    ["application/x-koan"] = "skp",
     ["application/x-latex"] = "latex",
     ["application/x-lzh-compressed"] = "lzh",
     ["application/x-mie"] = "mie",
-    ["application/xml-dtd"] = "dtd",
-    ["application/xml"] = "xml",
+    ["application/x-miva-compiled"] = "mvc",
+    ["application/x-mmxp"] = "mxp",
     ["application/x-mobipocket-ebook"] = "mobi",
-    ["application/x-msaccess"] = "mdb",
     ["application/x-ms-application"] = "application",
+    ["application/x-ms-installer"] = "msi",
+    ["application/x-ms-license"] = "slupkg-ms",
+    ["application/x-ms-manifest"] = "manifest",
+    ["application/x-ms-reader"] = "lit",
+    ["application/x-ms-shortcut"] = "lnk",
+    ["application/x-ms-vsto"] = "vsto",
+    ["application/x-ms-wmd"] = "wmd",
+    ["application/x-ms-wmz"] = "wmz",
+    ["application/x-ms-xbap"] = "xbap",
+    ["application/x-msaccess"] = "mdb",
     ["application/x-msbinder"] = "obd",
     ["application/x-mscardfile"] = "crd",
     ["application/x-msclip"] = "clp",
-    ["application/x-msdownload"] = "msi",
+    ["application/x-msdos-program"] = "exe",
+    ["application/x-msdownload"] = "exe",
     ["application/x-msmediaview"] = "mvb",
     ["application/x-msmetafile"] = "wmf",
     ["application/x-msmoney"] = "mny",
     ["application/x-mspublisher"] = "pub",
     ["application/x-msschedule"] = "scd",
-    ["application/x-ms-shortcut"] = "lnk",
     ["application/x-msterminal"] = "trm",
-    ["application/x-ms-wmd"] = "wmd",
-    ["application/x-ms-wmz"] = "wmz",
     ["application/x-mswrite"] = "wri",
-    ["application/x-ms-xbap"] = "xbap",
     ["application/x-netcdf"] = "cdf",
     ["application/x-nzb"] = "nzb",
-    ["application/xop+xml"] = "xop",
+    ["application/x-oleobject"] = "hhc",
+    ["application/x-pcapng"] = "pcap",
+    ["application/x-pe-app-32bit-i386"] = "exe",
+    ["application/x-perfmon"] = "pmw",
+    ["application/x-perl"] = "pl",
     ["application/x-pkcs12"] = "p12",
     ["application/x-pkcs7-certificates"] = "p7b",
     ["application/x-pkcs7-certreqresp"] = "p7r",
-    ["application/xproc+xml"] = "xpl",
+    ["application/x-podcast"] = "pcast",
+    ["application/x-python"] = "py",
+    ["application/x-quicktimeplayer"] = "qtl",
     ["application/x-rar-compressed"] = "rar",
     ["application/x-research-info-systems"] = "ris",
+    ["application/x-safari-safariextz"] = "safariextz",
+    ["application/x-safari-webarchive"] = "webarchive",
+    ["application/x-sgimb"] = "sgimb",
+    ["application/x-sh"] = "sh",
     ["application/x-shar"] = "shar",
+    ["application/x-sharedlib"] = "lib",
     ["application/x-shockwave-flash"] = "swf",
-    ["application/x-sh"] = "sh",
     ["application/x-silverlight-app"] = "xap",
-    ["application/xslt+xml"] = "xslt",
-    ["application/xspf+xml"] = "xspf",
+    ["application/x-smaf"] = "mmf",
     ["application/x-sql"] = "sql",
     ["application/x-stuffit"] = "sit",
     ["application/x-stuffitx"] = "sitx",
@@ -591,32 +676,62 @@ export {
     ["application/x-tads"] = "gam",
     ["application/x-tar"] = "tar",
     ["application/x-tcl"] = "tcl",
-    ["application/x-texinfo"] = "texinfo",
     ["application/x-tex"] = "tex",
     ["application/x-tex-tfm"] = "tfm",
+    ["application/x-texinfo"] = "texinfo",
     ["application/x-tgif"] = "obj",
+    ["application/x-troff"] = "tr",
+    ["application/x-troff-man"] = "man",
+    ["application/x-troff-me"] = "me",
+    ["application/x-troff-ms"] = "ms",
     ["application/x-ustar"] = "ustar",
-    ["application/xv+xml"] = "xvml",
     ["application/x-wais-source"] = "src",
+    ["application/x-wlpg-detect"] = "wlpginstall",
+    ["application/x-wlpg3-detect"] = "wlpginstall3",
     ["application/x-x509-ca-cert"] = "crt",
     ["application/x-xfig"] = "fig",
     ["application/x-xliff+xml"] = "xlf",
     ["application/x-xpinstall"] = "xpi",
     ["application/x-xz"] = "xz",
+    ["application/x-zip-compressed"] = "zip",
     ["application/x-zmachine"] = "z1",
+    ["application/xaml+xml"] = "xaml",
+    ["application/xcap-diff+xml"] = "xdf",
+    ["application/xenc+xml"] = "xenc",
+    ["application/xhtml+xml"] = "xhtml",
+    ["application/xml"] = "xml",
+    ["application/xml-dtd"] = "dtd",
+    ["application/xop+xml"] = "xop",
+    ["application/xproc+xml"] = "xpl",
+    ["application/xslt+xml"] = "xslt",
+    ["application/xspf+xml"] = "xspf",
+    ["application/xv+xml"] = "xvml",
     ["application/yang"] = "yang",
     ["application/yin+xml"] = "yin",
     ["application/zip"] = "zip",
+    ["audio/aac"] = "aac",
+    ["audio/ac3"] = "ac3",
     ["audio/adpcm"] = "adp",
+    ["audio/aiff"] = "aiff",
+    ["audio/annodex"] = "axa",
+    ["audio/audible"] = "aa",
     ["audio/basic"] = "au",
-    ["audio/midi"] = "mid",
+    ["audio/flac"] = "flac",
+    ["audio/m4a"] = "m4a",
+    ["audio/m4b"] = "m4b",
+    ["audio/m4p"] = "m4p",
+    ["audio/mid"] = "midi",
+    ["audio/midi"] = "midi",
     ["audio/mp4"] = "m4a",
-    ["audio/mpeg"] = "mpga",
+    ["audio/mpeg"] = "mp3",
     ["audio/ogg"] = "ogg",
     ["audio/s3m"] = "s3m",
+    ["audio/scpls"] = "pls",
     ["audio/silk"] = "sil",
+    ["audio/vnd.audible.aax"] = "aax",
     ["audio/vnd.dece.audio"] = "uva",
     ["audio/vnd.digital-winds"] = "eol",
+    ["audio/vnd.dlna.adts"] = "ADT",
     ["audio/vnd.dra"] = "dra",
     ["audio/vnd.dts"] = "dts",
     ["audio/vnd.dts.hd"] = "dtshd",
@@ -626,37 +741,47 @@ export {
     ["audio/vnd.nuera.ecelp7470"] = "ecelp7470",
     ["audio/vnd.nuera.ecelp9600"] = "ecelp9600",
     ["audio/vnd.rip"] = "rip",
+    ["audio/wav"] = "wav",
     ["audio/webm"] = "weba",
     ["audio/x-aac"] = "aac",
     ["audio/x-aiff"] = "aiff",
     ["audio/x-caf"] = "caf",
     ["audio/x-flac"] = "flac",
+    ["audio/x-gsm"] = "gsm",
+    ["audio/x-m4a"] = "m4a",
+    ["audio/x-m4r"] = "m4r",
     ["audio/x-matroska"] = "mka",
     ["audio/x-mpegurl"] = "m3u",
     ["audio/x-ms-wax"] = "wax",
     ["audio/x-ms-wma"] = "wma",
-    ["audio/xm"] = "xm",
-    ["audio/x-pn-realaudio-plugin"] = "rmp",
     ["audio/x-pn-realaudio"] = "ra",
+    ["audio/x-pn-realaudio-plugin"] = "rmp",
+    ["audio/x-sd2"] = "sd2",
+    ["audio/x-smd"] = "smd",
     ["audio/x-wav"] = "wav",
+    ["audio/xm"] = "xm",
     ["chemical/x-cdx"] = "cdx",
     ["chemical/x-cif"] = "cif",
     ["chemical/x-cmdf"] = "cmdf",
     ["chemical/x-cml"] = "cml",
     ["chemical/x-csml"] = "csml",
     ["chemical/x-xyz"] = "xyz",
+    ["drawing/x-dwf"] = "dwf",
     ["font/collection"] = "ttc",
     ["font/otf"] = "otf",
     ["font/ttf"] = "ttf",
-    ["font/woff2"] = "woff2",
     ["font/woff"] = "woff",
+    ["font/woff2"] = "woff2",
     ["image/bmp"] = "bmp",
     ["image/cgm"] = "cgm",
+    ["image/cis-cod"] = "cod",
     ["image/g3fax"] = "g3",
     ["image/gif"] = "gif",
     ["image/ief"] = "ief",
     ["image/jpeg"] = "jpg",
     ["image/ktx"] = "ktx",
+    ["image/pict"] = "pict",
+    ["image/pjpeg"] = "jfif",
     ["image/png"] = "png",
     ["image/prs.btif"] = "btif",
     ["image/sgi"] = "sgi",
@@ -676,6 +801,7 @@ export {
     ["image/vnd.ms-modi"] = "mdi",
     ["image/vnd.ms-photo"] = "wdp",
     ["image/vnd.net-fpx"] = "npx",
+    ["image/vnd.rn-realflash"] = "rf",
     ["image/vnd.wap.wbmp"] = "wbmp",
     ["image/vnd.xiff"] = "xif",
     ["image/webp"] = "webp",
@@ -683,20 +809,26 @@ export {
     ["image/x-cmu-raster"] = "ras",
     ["image/x-cmx"] = "cmx",
     ["image/x-freehand"] = "fh",
+    ["image/x-gif"] = "gif",
     ["image/x-icon"] = "ico",
+    ["image/x-jg"] = "art",
+    ["image/x-jpeg"] = "jpg",
+    ["image/x-macpaint"] = "mac",
     ["image/x-mrsid-image"] = "sid",
     ["image/x-pcx"] = "pcx",
-    ["image/x-pict"] = "pct",
+    ["image/x-pict"] = "pic",
+    ["image/x-png"] = "png",
     ["image/x-portable-anymap"] = "pnm",
     ["image/x-portable-bitmap"] = "pbm",
     ["image/x-portable-graymap"] = "pgm",
     ["image/x-portable-pixmap"] = "ppm",
+    ["image/x-quicktime"] = "qti",
     ["image/x-rgb"] = "rgb",
     ["image/x-tga"] = "tga",
     ["image/x-xbitmap"] = "xbm",
     ["image/x-xpixmap"] = "xpm",
     ["image/x-xwindowdump"] = "xwd",
-    ["message/rfc822"] = "mime",
+    ["message/rfc822"] = "eml",
     ["model/iges"] = "iges",
     ["model/mesh"] = "mesh",
     ["model/vnd.collada+xml"] = "dae",
@@ -713,17 +845,24 @@ export {
     ["text/calendar"] = "ics",
     ["text/css"] = "css",
     ["text/csv"] = "csv",
+    ["text/dlm"] = "dlm",
+    ["text/h323"] = "323",
     ["text/html"] = "html",
+    ["text/iuls"] = "uls",
     ["text/javascript"] = "js",
+    ["text/jscript"] = "jsx",
     ["text/n3"] = "n3",
     ["text/plain"] = "txt",
     ["text/prs.lines.tag"] = "dsc",
     ["text/richtext"] = "rtx",
+    ["text/rtf"] = "rtf",
+    ["text/scriptlet"] = "sct",
     ["text/sgml"] = "sgml",
     ["text/tab-separated-values"] = "tsv",
     ["text/troff"] = "tr",
     ["text/turtle"] = "ttl",
     ["text/uri-list"] = "uri",
+    ["text/vbscript"] = "vbs",
     ["text/vcard"] = "vcard",
     ["text/vnd.curl"] = "curl",
     ["text/vnd.curl.dcurl"] = "dcurl",
@@ -736,12 +875,21 @@ export {
     ["text/vnd.in3d.3dml"] = "3dml",
     ["text/vnd.in3d.spot"] = "spot",
     ["text/vnd.sun.j2me.app-descriptor"] = "jad",
-    ["text/vnd.wap.wmlscript"] = "wmls",
     ["text/vnd.wap.wml"] = "wml",
+    ["text/vnd.wap.wmlscript"] = "wmls",
+    ["text/vtt"] = "vtt",
+    ["text/webviewhtml"] = "htt",
     ["text/x-asm"] = "asm",
     ["text/x-c"] = "c",
+    ["text/x-component"] = "htc",
     ["text/x-fortran"] = "f",
+    ["text/x-hdml"] = "hdml",
+    ["text/x-html-insertion"] = "qhtm",
     ["text/x-java-source"] = "java",
+    ["text/x-ms-contact"] = "contact",
+    ["text/x-ms-group"] = "group",
+    ["text/x-ms-iqy"] = "iqy",
+    ["text/x-ms-rqy"] = "rqy",
     ["text/x-nfo"] = "nfo",
     ["text/x-opml"] = "opml",
     ["text/x-pascal"] = "pas",
@@ -750,8 +898,11 @@ export {
     ["text/x-uuencode"] = "uu",
     ["text/x-vcalendar"] = "vcs",
     ["text/x-vcard"] = "vcf",
-    ["video/3gpp2"] = "3g2",
+    ["text/xml"] = "xml",
     ["video/3gpp"] = "3gp",
+    ["video/3gpp2"] = "3g2",
+    ["video/annodex"] = "axv",
+    ["video/divx"] = "divx",
     ["video/h261"] = "h261",
     ["video/h263"] = "h263",
     ["video/h264"] = "h264",
@@ -767,6 +918,7 @@ export {
     ["video/vnd.dece.pd"] = "uvp",
     ["video/vnd.dece.sd"] = "uvs",
     ["video/vnd.dece.video"] = "uvv",
+    ["video/vnd.dlna.mpeg-tts"] = "m2t",
     ["video/vnd.dvb.file"] = "dvb",
     ["video/vnd.fvt"] = "fvt",
     ["video/vnd.mpegurl"] = "m4u",
@@ -774,21 +926,27 @@ export {
     ["video/vnd.uvvu.mp4"] = "uvu",
     ["video/vnd.vivo"] = "viv",
     ["video/webm"] = "webm",
+    ["video/x-dv"] = "dv",
     ["video/x-f4v"] = "f4v",
     ["video/x-fli"] = "fli",
     ["video/x-flv"] = "flv",
+    ["video/x-ivf"] = "IVF",
+    ["video/x-la-asf"] = "lsf",
     ["video/x-m4v"] = "m4v",
     ["video/x-matroska"] = "mkv",
+    ["video/x-matroska-3d"] = "mk3d",
     ["video/x-mng"] = "mng",
     ["video/x-ms-asf"] = "asf",
-    ["video/x-msvideo"] = "avi",
     ["video/x-ms-vob"] = "vob",
-    ["video/x-ms-wmv"] = "wmv",
     ["video/x-ms-wm"] = "wm",
+    ["video/x-ms-wmp"] = "wmp",
+    ["video/x-ms-wmv"] = "wmv",
     ["video/x-ms-wmx"] = "wmx",
     ["video/x-ms-wvx"] = "wvx",
+    ["video/x-msvideo"] = "avi",
     ["video/x-sgi-movie"] = "movie",
     ["video/x-smv"] = "smv",
-    ["x-conference/x-cooltalk"] = "ice"
+    ["x-conference/x-cooltalk"] = "ice",
+    ["x-world/x-vrml"] = "wrl"
   } &default="bin" &redef;
 }
diff --git a/sensor-iso/interface/sensor_ctl/zeek/extractor_override.interesting.zeek b/sensor-iso/interface/sensor_ctl/zeek/extractor_override.interesting.zeek
index 290a8948c..314d4c5a9 100644
--- a/sensor-iso/interface/sensor_ctl/zeek/extractor_override.interesting.zeek
+++ b/sensor-iso/interface/sensor_ctl/zeek/extractor_override.interesting.zeek
@@ -98,6 +98,7 @@ export {
     ["application/x-shockwave-flash"]= "swf",
     ["application/x-zip-compressed"]= "zip",
     ["application/zip"]= "zip",
+    ["text/javascript"]= "js",
     ["text/jscript"]= "jsx",
     ["text/rtf"]= "rtf",
     ["text/vbscript"]= "vbs"
diff --git a/zeek/config/extractor_override.interesting.zeek b/zeek/config/extractor_override.interesting.zeek
index 290a8948c..314d4c5a9 100644
--- a/zeek/config/extractor_override.interesting.zeek
+++ b/zeek/config/extractor_override.interesting.zeek
@@ -98,6 +98,7 @@ export {
     ["application/x-shockwave-flash"]= "swf",
     ["application/x-zip-compressed"]= "zip",
     ["application/zip"]= "zip",
+    ["text/javascript"]= "js",
     ["text/jscript"]= "jsx",
     ["text/rtf"]= "rtf",
     ["text/vbscript"]= "vbs"
diff --git a/zeek/config/extractor_params.zeek b/zeek/config/extractor_params.zeek
index e72dd0f15..b693186bd 100644
--- a/zeek/config/extractor_params.zeek
+++ b/zeek/config/extractor_params.zeek
@@ -23,11 +23,14 @@ export {
 
   # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort
   const extractor_mime_to_ext_map : table[string] of string = {
+    ["application/acad"] = "dwg",
     ["application/andrew-inset"] = "ez",
+    ["application/annodex"] = "anx",
     ["application/applixware"] = "aw",
+    ["application/atom+xml"] = "atom",
     ["application/atomcat+xml"] = "atomcat",
     ["application/atomsvc+xml"] = "atomsvc",
-    ["application/atom+xml"] = "atom",
+    ["application/binary"] = "bin",
     ["application/ccxml+xml"] = "ccxml",
     ["application/cdmi-capability"] = "cdmia",
     ["application/cdmi-container"] = "cdmic",
@@ -36,25 +39,36 @@ export {
     ["application/cdmi-queue"] = "cdmiq",
     ["application/cu-seeme"] = "cu",
     ["application/davmount+xml"] = "davmount",
+    ["application/directx"] = "x",
     ["application/docbook+xml"] = "dbk",
     ["application/dssc+der"] = "dssc",
     ["application/dssc+xml"] = "xdssc",
-    ["application/ecmascript"] = "ecma",
+    ["application/ecmascript"] = "es",
     ["application/emma+xml"] = "emma",
+    ["application/envoy"] = "evy",
     ["application/epub+zip"] = "epub",
+    ["application/etl"] = "etl",
     ["application/exi"] = "exi",
+    ["application/font-sfnt"] = "ttf",
     ["application/font-tdpfr"] = "pfr",
+    ["application/fractals"] = "fif",
+    ["application/fsharp-script"] = "fsscript",
+    ["application/futuresplash"] = "spl",
     ["application/gml+xml"] = "gml",
     ["application/gpx+xml"] = "gpx",
     ["application/gxf"] = "gxf",
+    ["application/hta"] = "hta",
     ["application/hyperstudio"] = "stk",
     ["application/inkml+xml"] = "inkml",
+    ["application/internet-property-stream"] = "acx",
     ["application/ipfix"] = "ipfix",
     ["application/java-archive"] = "jar",
     ["application/java-serialized-object"] = "ser",
     ["application/java-vm"] = "class",
+    ["application/javascript"] = "js",
     ["application/json"] = "json",
     ["application/jsonml+json"] = "jsonml",
+    ["application/liquidmotion"] = "jck",
     ["application/lost+xml"] = "lostxml",
     ["application/mac-binhex40"] = "hqx",
     ["application/mac-compactpro"] = "cpt",
@@ -65,44 +79,58 @@ export {
     ["application/mathml+xml"] = "mathml",
     ["application/mbox"] = "mbox",
     ["application/mediaservercontrol+xml"] = "mscml",
-    ["application/metalink4+xml"] = "meta4",
     ["application/metalink+xml"] = "metalink",
+    ["application/metalink4+xml"] = "meta4",
     ["application/mets+xml"] = "mets",
     ["application/mods+xml"] = "mods",
     ["application/mp21"] = "mp21",
     ["application/mp4"] = "mp4s",
+    ["application/mpeg"] = "amc",
+    ["application/ms-vsi"] = "vsi",
+    ["application/msaccess"] = "accdb",
+    ["application/msaccess.addin"] = "accda",
+    ["application/msaccess.cab"] = "accdc",
+    ["application/msaccess.ftemplate"] = "accft",
+    ["application/msaccess.runtime"] = "accdr",
+    ["application/msaccess.webapplication"] = "accdw",
+    ["application/msexcel"] = "xls",
+    ["application/mspowerpoint"] = "ppt",
     ["application/msword"] = "doc",
     ["application/mxf"] = "mxf",
     ["application/octet-stream"] = "bin",
     ["application/oda"] = "oda",
     ["application/oebps-package+xml"] = "opf",
     ["application/ogg"] = "ogx",
+    ["application/olescript"] = "axs",
     ["application/omdoc+xml"] = "omdoc",
-    ["application/onenote"] = "onepkg",
+    ["application/onenote"] = "one",
+    ["application/opensearchdescription+xml"] = "osdx",
     ["application/oxps"] = "oxps",
     ["application/patch-ops-error+xml"] = "xer",
     ["application/pdf"] = "pdf",
     ["application/pgp-encrypted"] = "pgp",
-    ["application/pgp-signature"] = "sig",
+    ["application/pgp-signature"] = "pgp",
     ["application/pics-rules"] = "prf",
     ["application/pkcs10"] = "p10",
-    ["application/pkcs7-mime"] = "p7m",
+    ["application/pkcs7-mime"] = "p7c",
     ["application/pkcs7-signature"] = "p7s",
     ["application/pkcs8"] = "p8",
     ["application/pkix-attr-cert"] = "ac",
     ["application/pkix-cert"] = "cer",
-    ["application/pkixcmp"] = "pki",
     ["application/pkix-crl"] = "crl",
     ["application/pkix-pkipath"] = "pkipath",
+    ["application/pkixcmp"] = "pki",
     ["application/pls+xml"] = "pls",
     ["application/postscript"] = "ps",
+    ["application/PowerShell"] = "psc1",
     ["application/prs.cww"] = "cww",
     ["application/pskc+xml"] = "pskcxml",
+    ["application/rat-file"] = "rat",
     ["application/rdf+xml"] = "rdf",
     ["application/reginfo+xml"] = "rif",
     ["application/relax-ng-compact-syntax"] = "rnc",
-    ["application/resource-lists-diff+xml"] = "rld",
     ["application/resource-lists+xml"] = "rl",
+    ["application/resource-lists-diff+xml"] = "rld",
     ["application/rls-services+xml"] = "rs",
     ["application/rpki-ghostbusters"] = "gbr",
     ["application/rpki-manifest"] = "mft",
@@ -127,13 +155,15 @@ export {
     ["application/sru+xml"] = "sru",
     ["application/ssdl+xml"] = "ssdl",
     ["application/ssml+xml"] = "ssml",
+    ["application/step"] = "step",
+    ["application/streamingmedia"] = "ssm",
     ["application/tei+xml"] = "tei",
     ["application/thraud+xml"] = "tfi",
     ["application/timestamped-data"] = "tsd",
-    ["application/vnd.3gpp2.tcap"] = "tcap",
     ["application/vnd.3gpp.pic-bw-large"] = "plb",
     ["application/vnd.3gpp.pic-bw-small"] = "psb",
     ["application/vnd.3gpp.pic-bw-var"] = "pvb",
+    ["application/vnd.3gpp2.tcap"] = "tcap",
     ["application/vnd.3m.post-it-notes"] = "pwn",
     ["application/vnd.accpac.simply.aso"] = "aso",
     ["application/vnd.accpac.simply.imp"] = "imp",
@@ -213,18 +243,18 @@ export {
     ["application/vnd.fdsn.seed"] = "seed",
     ["application/vnd.flographit"] = "gph",
     ["application/vnd.fluxtime.clip"] = "ftc",
-    ["application/vnd.framemaker"] = "frame",
+    ["application/vnd.framemaker"] = "fm",
     ["application/vnd.frogans.fnc"] = "fnc",
     ["application/vnd.frogans.ltf"] = "ltf",
     ["application/vnd.fsc.weblaunch"] = "fsc",
+    ["application/vnd.fujitsu.oasys"] = "oas",
     ["application/vnd.fujitsu.oasys2"] = "oa2",
     ["application/vnd.fujitsu.oasys3"] = "oa3",
     ["application/vnd.fujitsu.oasysgp"] = "fg5",
-    ["application/vnd.fujitsu.oasys"] = "oas",
     ["application/vnd.fujitsu.oasysprs"] = "bh2",
     ["application/vnd.fujixerox.ddd"] = "ddd",
-    ["application/vnd.fujixerox.docuworks.binder"] = "xbd",
     ["application/vnd.fujixerox.docuworks"] = "xdw",
+    ["application/vnd.fujixerox.docuworks.binder"] = "xbd",
     ["application/vnd.fuzzysheet"] = "fzs",
     ["application/vnd.genomatix.tuxedo"] = "txd",
     ["application/vnd.geogebra.file"] = "ggb",
@@ -271,8 +301,8 @@ export {
     ["application/vnd.intu.qfx"] = "qfx",
     ["application/vnd.ipunplugged.rcprofile"] = "rcprofile",
     ["application/vnd.irepository.package+xml"] = "irp",
-    ["application/vnd.isac.fcs"] = "fcs",
     ["application/vnd.is-xpr"] = "xpr",
+    ["application/vnd.isac.fcs"] = "fcs",
     ["application/vnd.jam"] = "jam",
     ["application/vnd.jcp.javame.midlet-rms"] = "rms",
     ["application/vnd.jisp"] = "jisp",
@@ -283,7 +313,7 @@ export {
     ["application/vnd.kde.kformula"] = "kfo",
     ["application/vnd.kde.kivio"] = "flw",
     ["application/vnd.kde.kontour"] = "kon",
-    ["application/vnd.kde.kpresenter"] = "kpr",
+    ["application/vnd.kde.kpresenter"] = "kpt",
     ["application/vnd.kde.kspread"] = "ksp",
     ["application/vnd.kde.kword"] = "kwd",
     ["application/vnd.kenameaapp"] = "htke",
@@ -309,6 +339,7 @@ export {
     ["application/vnd.mfmp"] = "mfm",
     ["application/vnd.micrografx.flo"] = "flo",
     ["application/vnd.micrografx.igx"] = "igx",
+    ["application/vnd.microsoft.portable-executable"] = "exe",
     ["application/vnd.mif"] = "mif",
     ["application/vnd.mobius.daf"] = "daf",
     ["application/vnd.mobius.dis"] = "dis",
@@ -322,31 +353,48 @@ export {
     ["application/vnd.mozilla.xul+xml"] = "xul",
     ["application/vnd.ms-artgalry"] = "cil",
     ["application/vnd.ms-cab-compressed"] = "cab",
-    ["application/vnd.mseq"] = "mseq",
+    ["application/vnd.ms-excel"] = "xls",
     ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam",
+    ["application/vnd.ms-excel.addin.macroEnabled.12"] = "xlam",
     ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb",
+    ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"] = "xlsb",
     ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm",
+    ["application/vnd.ms-excel.sheet.macroEnabled.12"] = "xlsm",
     ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm",
-    ["application/vnd.ms-excel"] = "xls",
+    ["application/vnd.ms-excel.template.macroEnabled.12"] = "xltm",
     ["application/vnd.ms-fontobject"] = "eot",
     ["application/vnd.ms-htmlhelp"] = "chm",
     ["application/vnd.ms-ims"] = "ims",
     ["application/vnd.ms-lrm"] = "lrm",
+    ["application/vnd.ms-mediapackage"] = "mpf",
+    ["application/vnd.ms-office.calx"] = "calx",
     ["application/vnd.ms-officetheme"] = "thmx",
+    ["application/vnd.ms-outlook"] = "msg",
+    ["application/vnd.ms-pki.certstore"] = "sst",
+    ["application/vnd.ms-pki.pko"] = "pko",
     ["application/vnd.ms-pki.seccat"] = "cat",
     ["application/vnd.ms-pki.stl"] = "stl",
-    ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam",
     ["application/vnd.ms-powerpoint"] = "ppt",
+    ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam",
+    ["application/vnd.ms-powerpoint.addin.macroEnabled.12"] = "ppam",
     ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm",
+    ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"] = "pptm",
     ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm",
+    ["application/vnd.ms-powerpoint.slide.macroEnabled.12"] = "sldm",
     ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm",
+    ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"] = "ppsm",
     ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm",
-    ["application/vnd.ms-project"] = "mpp",
+    ["application/vnd.ms-powerpoint.template.macroEnabled.12"] = "potm",
+    ["application/vnd.ms-project"] = "mpt",
+    ["application/vnd.ms-visio.viewer"] = "vdx",
     ["application/vnd.ms-word.document.macroenabled.12"] = "docm",
+    ["application/vnd.ms-word.document.macroEnabled.12"] = "docm",
     ["application/vnd.ms-word.template.macroenabled.12"] = "dotm",
-    ["application/vnd.ms-works"] = "wps",
+    ["application/vnd.ms-word.template.macroEnabled.12"] = "dotm",
+    ["application/vnd.ms-works"] = "wks",
     ["application/vnd.ms-wpl"] = "wpl",
     ["application/vnd.ms-xpsdocument"] = "xps",
+    ["application/vnd.mseq"] = "mseq",
     ["application/vnd.musician"] = "mus",
     ["application/vnd.muvee.style"] = "msty",
     ["application/vnd.mynfc"] = "taglet",
@@ -375,16 +423,16 @@ export {
     ["application/vnd.oasis.opendocument.presentation-template"] = "otp",
     ["application/vnd.oasis.opendocument.spreadsheet"] = "ods",
     ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots",
-    ["application/vnd.oasis.opendocument.text-master"] = "odm",
     ["application/vnd.oasis.opendocument.text"] = "odt",
+    ["application/vnd.oasis.opendocument.text-master"] = "odm",
     ["application/vnd.oasis.opendocument.text-template"] = "ott",
     ["application/vnd.oasis.opendocument.text-web"] = "oth",
     ["application/vnd.olpc-sugar"] = "xo",
     ["application/vnd.oma.dd2+xml"] = "dd2",
     ["application/vnd.openofficeorg.extension"] = "oxt",
     ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx",
-    ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx",
     ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx",
+    ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx",
     ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx",
     ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx",
     ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx",
@@ -405,7 +453,7 @@ export {
     ["application/vnd.proteus.magazine"] = "mgz",
     ["application/vnd.publishare-delta-tree"] = "qps",
     ["application/vnd.pvi.ptid1"] = "ptid",
-    ["application/vnd.quark.quarkxpress"] = "qxd",
+    ["application/vnd.quark.quarkxpress"] = "qxt",
     ["application/vnd.realvnc.bed"] = "bed",
     ["application/vnd.recordare.musicxml"] = "mxl",
     ["application/vnd.recordare.musicxml+xml"] = "musicxml",
@@ -413,6 +461,7 @@ export {
     ["application/vnd.rim.cod"] = "cod",
     ["application/vnd.rn-realmedia"] = "rm",
     ["application/vnd.rn-realmedia-vbr"] = "rmvb",
+    ["application/vnd.rn-rn_music_package"] = "rmp",
     ["application/vnd.route66.link66+xml"] = "link66",
     ["application/vnd.sailingtracker.track"] = "st",
     ["application/vnd.seemail"] = "see",
@@ -433,8 +482,8 @@ export {
     ["application/vnd.stardivision.draw"] = "sda",
     ["application/vnd.stardivision.impress"] = "sdd",
     ["application/vnd.stardivision.math"] = "smf",
-    ["application/vnd.stardivision.writer-global"] = "sgl",
     ["application/vnd.stardivision.writer"] = "sdw",
+    ["application/vnd.stardivision.writer-global"] = "sgl",
     ["application/vnd.stepmania.package"] = "smzip",
     ["application/vnd.stepmania.stepchart"] = "sm",
     ["application/vnd.sun.xml.calc"] = "sxc",
@@ -444,15 +493,15 @@ export {
     ["application/vnd.sun.xml.impress"] = "sxi",
     ["application/vnd.sun.xml.impress.template"] = "sti",
     ["application/vnd.sun.xml.math"] = "sxm",
-    ["application/vnd.sun.xml.writer.global"] = "sxg",
     ["application/vnd.sun.xml.writer"] = "sxw",
+    ["application/vnd.sun.xml.writer.global"] = "sxg",
     ["application/vnd.sun.xml.writer.template"] = "stw",
     ["application/vnd.sus-calendar"] = "sus",
     ["application/vnd.svd"] = "svd",
     ["application/vnd.symbian.install"] = "sis",
+    ["application/vnd.syncml+xml"] = "xsm",
     ["application/vnd.syncml.dm+wbxml"] = "bdm",
     ["application/vnd.syncml.dm+xml"] = "xdm",
-    ["application/vnd.syncml+xml"] = "xsm",
     ["application/vnd.tao.intent-module-archive"] = "tao",
     ["application/vnd.tcpdump.pcap"] = "pcap",
     ["application/vnd.tmobile-livetv"] = "tmo",
@@ -465,8 +514,8 @@ export {
     ["application/vnd.unity"] = "unityweb",
     ["application/vnd.uoml+xml"] = "uoml",
     ["application/vnd.vcx"] = "vcx",
-    ["application/vnd.visionary"] = "vis",
     ["application/vnd.visio"] = "vsd",
+    ["application/vnd.visionary"] = "vis",
     ["application/vnd.vsf"] = "vsf",
     ["application/vnd.wap.wbxml"] = "wbxml",
     ["application/vnd.wap.wmlc"] = "wmlc",
@@ -489,28 +538,35 @@ export {
     ["application/vnd.zul"] = "zir",
     ["application/vnd.zzazz.deck+xml"] = "zaz",
     ["application/voicexml+xml"] = "vxml",
+    ["application/vsix"] = "vsix",
     ["application/wasm"] = "wasm",
     ["application/widget"] = "wgt",
+    ["application/windows-library+xml"] = "library-ms",
+    ["application/windows-search-connector+xml"] = "searchConnector-ms",
     ["application/winhlp"] = "hlp",
+    ["application/wlmoviemaker"] = "WLMP",
     ["application/wsdl+xml"] = "wsdl",
     ["application/wspolicy+xml"] = "wspolicy",
     ["application/x-7z-compressed"] = "7z",
     ["application/x-abiword"] = "abw",
     ["application/x-ace-compressed"] = "ace",
-    ["application/xaml+xml"] = "xaml",
     ["application/x-apple-diskimage"] = "dmg",
     ["application/x-authorware-bin"] = "aab",
+    ["application/x-authorware-map"] = "aam",
+    ["application/x-authorware-seg"] = "aas",
     ["application/x-bcpio"] = "bcpio",
     ["application/x-bittorrent"] = "torrent",
     ["application/x-blorb"] = "blorb",
-    ["application/x-bzip2"] = "bz2",
+    ["application/x-bridge-url"] = "adobebridge",
     ["application/x-bzip"] = "bz",
-    ["application/xcap-diff+xml"] = "xdf",
+    ["application/x-bzip2"] = "bz2",
     ["application/x-cbr"] = "cbr",
     ["application/x-cdlink"] = "vcd",
     ["application/x-cfs-compressed"] = "cfs",
     ["application/x-chat"] = "chat",
     ["application/x-chess-pgn"] = "pgn",
+    ["application/x-compress"] = "z",
+    ["application/x-compressed"] = "tgz",
     ["application/x-conference"] = "nsc",
     ["application/x-cpio"] = "cpio",
     ["application/x-csh"] = "csh",
@@ -518,13 +574,16 @@ export {
     ["application/x-dgc-compressed"] = "dgc",
     ["application/x-director"] = "dir",
     ["application/x-doom"] = "wad",
+    ["application/x-dosexec"] = "exe",
     ["application/x-dtbncx+xml"] = "ncx",
     ["application/x-dtbook+xml"] = "dtb",
     ["application/x-dtbresource+xml"] = "res",
     ["application/x-dvi"] = "dvi",
-    ["application/xenc+xml"] = "xenc",
+    ["application/x-dxf"] = "dxf",
+    ["application/x-elf"] = "elf",
     ["application/x-envoy"] = "evy",
     ["application/x-eva"] = "eva",
+    ["application/x-executable"] = "exe",
     ["application/x-font-bdf"] = "bdf",
     ["application/x-font-ghostscript"] = "gsf",
     ["application/x-font-linux-psf"] = "psf",
@@ -538,49 +597,75 @@ export {
     ["application/x-gnumeric"] = "gnumeric",
     ["application/x-gramps-xml"] = "gramps",
     ["application/x-gtar"] = "gtar",
+    ["application/x-gzip"] = "gz",
     ["application/x-hdf"] = "hdf",
-    ["application/xhtml+xml"] = "xhtml",
     ["application/x-install-instructions"] = "install",
+    ["application/x-internet-signup"] = "isp",
+    ["application/x-iphone"] = "iii",
     ["application/x-iso9660-image"] = "iso",
+    ["application/x-itunes-ipa"] = "ipa",
+    ["application/x-itunes-ipg"] = "ipg",
+    ["application/x-itunes-ipsw"] = "ipsw",
+    ["application/x-itunes-ite"] = "ite",
+    ["application/x-itunes-itlp"] = "itlp",
+    ["application/x-itunes-itms"] = "itms",
+    ["application/x-itunes-itpc"] = "itpc",
+    ["application/x-java-applet"] = "class",
     ["application/x-java-jnlp-file"] = "jnlp",
+    ["application/x-koan"] = "skp",
     ["application/x-latex"] = "latex",
     ["application/x-lzh-compressed"] = "lzh",
     ["application/x-mie"] = "mie",
-    ["application/xml-dtd"] = "dtd",
-    ["application/xml"] = "xml",
+    ["application/x-miva-compiled"] = "mvc",
+    ["application/x-mmxp"] = "mxp",
     ["application/x-mobipocket-ebook"] = "mobi",
-    ["application/x-msaccess"] = "mdb",
     ["application/x-ms-application"] = "application",
+    ["application/x-ms-installer"] = "msi",
+    ["application/x-ms-license"] = "slupkg-ms",
+    ["application/x-ms-manifest"] = "manifest",
+    ["application/x-ms-reader"] = "lit",
+    ["application/x-ms-shortcut"] = "lnk",
+    ["application/x-ms-vsto"] = "vsto",
+    ["application/x-ms-wmd"] = "wmd",
+    ["application/x-ms-wmz"] = "wmz",
+    ["application/x-ms-xbap"] = "xbap",
+    ["application/x-msaccess"] = "mdb",
     ["application/x-msbinder"] = "obd",
     ["application/x-mscardfile"] = "crd",
     ["application/x-msclip"] = "clp",
-    ["application/x-msdownload"] = "msi",
+    ["application/x-msdos-program"] = "exe",
+    ["application/x-msdownload"] = "exe",
     ["application/x-msmediaview"] = "mvb",
     ["application/x-msmetafile"] = "wmf",
     ["application/x-msmoney"] = "mny",
     ["application/x-mspublisher"] = "pub",
     ["application/x-msschedule"] = "scd",
-    ["application/x-ms-shortcut"] = "lnk",
     ["application/x-msterminal"] = "trm",
-    ["application/x-ms-wmd"] = "wmd",
-    ["application/x-ms-wmz"] = "wmz",
     ["application/x-mswrite"] = "wri",
-    ["application/x-ms-xbap"] = "xbap",
     ["application/x-netcdf"] = "cdf",
     ["application/x-nzb"] = "nzb",
-    ["application/xop+xml"] = "xop",
+    ["application/x-oleobject"] = "hhc",
+    ["application/x-pcapng"] = "pcap",
+    ["application/x-pe-app-32bit-i386"] = "exe",
+    ["application/x-perfmon"] = "pmw",
+    ["application/x-perl"] = "pl",
     ["application/x-pkcs12"] = "p12",
     ["application/x-pkcs7-certificates"] = "p7b",
     ["application/x-pkcs7-certreqresp"] = "p7r",
-    ["application/xproc+xml"] = "xpl",
+    ["application/x-podcast"] = "pcast",
+    ["application/x-python"] = "py",
+    ["application/x-quicktimeplayer"] = "qtl",
     ["application/x-rar-compressed"] = "rar",
     ["application/x-research-info-systems"] = "ris",
+    ["application/x-safari-safariextz"] = "safariextz",
+    ["application/x-safari-webarchive"] = "webarchive",
+    ["application/x-sgimb"] = "sgimb",
+    ["application/x-sh"] = "sh",
     ["application/x-shar"] = "shar",
+    ["application/x-sharedlib"] = "lib",
     ["application/x-shockwave-flash"] = "swf",
-    ["application/x-sh"] = "sh",
     ["application/x-silverlight-app"] = "xap",
-    ["application/xslt+xml"] = "xslt",
-    ["application/xspf+xml"] = "xspf",
+    ["application/x-smaf"] = "mmf",
     ["application/x-sql"] = "sql",
     ["application/x-stuffit"] = "sit",
     ["application/x-stuffitx"] = "sitx",
@@ -591,32 +676,62 @@ export {
     ["application/x-tads"] = "gam",
     ["application/x-tar"] = "tar",
     ["application/x-tcl"] = "tcl",
-    ["application/x-texinfo"] = "texinfo",
     ["application/x-tex"] = "tex",
     ["application/x-tex-tfm"] = "tfm",
+    ["application/x-texinfo"] = "texinfo",
     ["application/x-tgif"] = "obj",
+    ["application/x-troff"] = "tr",
+    ["application/x-troff-man"] = "man",
+    ["application/x-troff-me"] = "me",
+    ["application/x-troff-ms"] = "ms",
     ["application/x-ustar"] = "ustar",
-    ["application/xv+xml"] = "xvml",
     ["application/x-wais-source"] = "src",
+    ["application/x-wlpg-detect"] = "wlpginstall",
+    ["application/x-wlpg3-detect"] = "wlpginstall3",
     ["application/x-x509-ca-cert"] = "crt",
     ["application/x-xfig"] = "fig",
     ["application/x-xliff+xml"] = "xlf",
     ["application/x-xpinstall"] = "xpi",
     ["application/x-xz"] = "xz",
+    ["application/x-zip-compressed"] = "zip",
     ["application/x-zmachine"] = "z1",
+    ["application/xaml+xml"] = "xaml",
+    ["application/xcap-diff+xml"] = "xdf",
+    ["application/xenc+xml"] = "xenc",
+    ["application/xhtml+xml"] = "xhtml",
+    ["application/xml"] = "xml",
+    ["application/xml-dtd"] = "dtd",
+    ["application/xop+xml"] = "xop",
+    ["application/xproc+xml"] = "xpl",
+    ["application/xslt+xml"] = "xslt",
+    ["application/xspf+xml"] = "xspf",
+    ["application/xv+xml"] = "xvml",
     ["application/yang"] = "yang",
     ["application/yin+xml"] = "yin",
     ["application/zip"] = "zip",
+    ["audio/aac"] = "aac",
+    ["audio/ac3"] = "ac3",
     ["audio/adpcm"] = "adp",
+    ["audio/aiff"] = "aiff",
+    ["audio/annodex"] = "axa",
+    ["audio/audible"] = "aa",
     ["audio/basic"] = "au",
-    ["audio/midi"] = "mid",
+    ["audio/flac"] = "flac",
+    ["audio/m4a"] = "m4a",
+    ["audio/m4b"] = "m4b",
+    ["audio/m4p"] = "m4p",
+    ["audio/mid"] = "midi",
+    ["audio/midi"] = "midi",
     ["audio/mp4"] = "m4a",
-    ["audio/mpeg"] = "mpga",
+    ["audio/mpeg"] = "mp3",
     ["audio/ogg"] = "ogg",
     ["audio/s3m"] = "s3m",
+    ["audio/scpls"] = "pls",
     ["audio/silk"] = "sil",
+    ["audio/vnd.audible.aax"] = "aax",
     ["audio/vnd.dece.audio"] = "uva",
     ["audio/vnd.digital-winds"] = "eol",
+    ["audio/vnd.dlna.adts"] = "ADT",
     ["audio/vnd.dra"] = "dra",
     ["audio/vnd.dts"] = "dts",
     ["audio/vnd.dts.hd"] = "dtshd",
@@ -626,37 +741,47 @@ export {
     ["audio/vnd.nuera.ecelp7470"] = "ecelp7470",
     ["audio/vnd.nuera.ecelp9600"] = "ecelp9600",
     ["audio/vnd.rip"] = "rip",
+    ["audio/wav"] = "wav",
     ["audio/webm"] = "weba",
     ["audio/x-aac"] = "aac",
     ["audio/x-aiff"] = "aiff",
     ["audio/x-caf"] = "caf",
     ["audio/x-flac"] = "flac",
+    ["audio/x-gsm"] = "gsm",
+    ["audio/x-m4a"] = "m4a",
+    ["audio/x-m4r"] = "m4r",
     ["audio/x-matroska"] = "mka",
     ["audio/x-mpegurl"] = "m3u",
     ["audio/x-ms-wax"] = "wax",
     ["audio/x-ms-wma"] = "wma",
-    ["audio/xm"] = "xm",
-    ["audio/x-pn-realaudio-plugin"] = "rmp",
     ["audio/x-pn-realaudio"] = "ra",
+    ["audio/x-pn-realaudio-plugin"] = "rmp",
+    ["audio/x-sd2"] = "sd2",
+    ["audio/x-smd"] = "smd",
     ["audio/x-wav"] = "wav",
+    ["audio/xm"] = "xm",
     ["chemical/x-cdx"] = "cdx",
     ["chemical/x-cif"] = "cif",
     ["chemical/x-cmdf"] = "cmdf",
     ["chemical/x-cml"] = "cml",
     ["chemical/x-csml"] = "csml",
     ["chemical/x-xyz"] = "xyz",
+    ["drawing/x-dwf"] = "dwf",
     ["font/collection"] = "ttc",
     ["font/otf"] = "otf",
     ["font/ttf"] = "ttf",
-    ["font/woff2"] = "woff2",
     ["font/woff"] = "woff",
+    ["font/woff2"] = "woff2",
     ["image/bmp"] = "bmp",
     ["image/cgm"] = "cgm",
+    ["image/cis-cod"] = "cod",
     ["image/g3fax"] = "g3",
     ["image/gif"] = "gif",
     ["image/ief"] = "ief",
     ["image/jpeg"] = "jpg",
     ["image/ktx"] = "ktx",
+    ["image/pict"] = "pict",
+    ["image/pjpeg"] = "jfif",
     ["image/png"] = "png",
     ["image/prs.btif"] = "btif",
     ["image/sgi"] = "sgi",
@@ -676,6 +801,7 @@ export {
     ["image/vnd.ms-modi"] = "mdi",
     ["image/vnd.ms-photo"] = "wdp",
     ["image/vnd.net-fpx"] = "npx",
+    ["image/vnd.rn-realflash"] = "rf",
     ["image/vnd.wap.wbmp"] = "wbmp",
     ["image/vnd.xiff"] = "xif",
     ["image/webp"] = "webp",
@@ -683,20 +809,26 @@ export {
     ["image/x-cmu-raster"] = "ras",
     ["image/x-cmx"] = "cmx",
     ["image/x-freehand"] = "fh",
+    ["image/x-gif"] = "gif",
     ["image/x-icon"] = "ico",
+    ["image/x-jg"] = "art",
+    ["image/x-jpeg"] = "jpg",
+    ["image/x-macpaint"] = "mac",
     ["image/x-mrsid-image"] = "sid",
     ["image/x-pcx"] = "pcx",
-    ["image/x-pict"] = "pct",
+    ["image/x-pict"] = "pic",
+    ["image/x-png"] = "png",
     ["image/x-portable-anymap"] = "pnm",
     ["image/x-portable-bitmap"] = "pbm",
     ["image/x-portable-graymap"] = "pgm",
     ["image/x-portable-pixmap"] = "ppm",
+    ["image/x-quicktime"] = "qti",
     ["image/x-rgb"] = "rgb",
     ["image/x-tga"] = "tga",
     ["image/x-xbitmap"] = "xbm",
     ["image/x-xpixmap"] = "xpm",
     ["image/x-xwindowdump"] = "xwd",
-    ["message/rfc822"] = "mime",
+    ["message/rfc822"] = "eml",
     ["model/iges"] = "iges",
     ["model/mesh"] = "mesh",
     ["model/vnd.collada+xml"] = "dae",
@@ -713,17 +845,24 @@ export {
     ["text/calendar"] = "ics",
     ["text/css"] = "css",
     ["text/csv"] = "csv",
+    ["text/dlm"] = "dlm",
+    ["text/h323"] = "323",
     ["text/html"] = "html",
+    ["text/iuls"] = "uls",
     ["text/javascript"] = "js",
+    ["text/jscript"] = "jsx",
     ["text/n3"] = "n3",
     ["text/plain"] = "txt",
     ["text/prs.lines.tag"] = "dsc",
     ["text/richtext"] = "rtx",
+    ["text/rtf"] = "rtf",
+    ["text/scriptlet"] = "sct",
     ["text/sgml"] = "sgml",
     ["text/tab-separated-values"] = "tsv",
     ["text/troff"] = "tr",
     ["text/turtle"] = "ttl",
     ["text/uri-list"] = "uri",
+    ["text/vbscript"] = "vbs",
     ["text/vcard"] = "vcard",
     ["text/vnd.curl"] = "curl",
     ["text/vnd.curl.dcurl"] = "dcurl",
@@ -736,12 +875,21 @@ export {
     ["text/vnd.in3d.3dml"] = "3dml",
     ["text/vnd.in3d.spot"] = "spot",
     ["text/vnd.sun.j2me.app-descriptor"] = "jad",
-    ["text/vnd.wap.wmlscript"] = "wmls",
     ["text/vnd.wap.wml"] = "wml",
+    ["text/vnd.wap.wmlscript"] = "wmls",
+    ["text/vtt"] = "vtt",
+    ["text/webviewhtml"] = "htt",
     ["text/x-asm"] = "asm",
     ["text/x-c"] = "c",
+    ["text/x-component"] = "htc",
     ["text/x-fortran"] = "f",
+    ["text/x-hdml"] = "hdml",
+    ["text/x-html-insertion"] = "qhtm",
     ["text/x-java-source"] = "java",
+    ["text/x-ms-contact"] = "contact",
+    ["text/x-ms-group"] = "group",
+    ["text/x-ms-iqy"] = "iqy",
+    ["text/x-ms-rqy"] = "rqy",
     ["text/x-nfo"] = "nfo",
     ["text/x-opml"] = "opml",
     ["text/x-pascal"] = "pas",
@@ -750,8 +898,11 @@ export {
     ["text/x-uuencode"] = "uu",
     ["text/x-vcalendar"] = "vcs",
     ["text/x-vcard"] = "vcf",
-    ["video/3gpp2"] = "3g2",
+    ["text/xml"] = "xml",
     ["video/3gpp"] = "3gp",
+    ["video/3gpp2"] = "3g2",
+    ["video/annodex"] = "axv",
+    ["video/divx"] = "divx",
     ["video/h261"] = "h261",
     ["video/h263"] = "h263",
     ["video/h264"] = "h264",
@@ -767,6 +918,7 @@ export {
     ["video/vnd.dece.pd"] = "uvp",
     ["video/vnd.dece.sd"] = "uvs",
     ["video/vnd.dece.video"] = "uvv",
+    ["video/vnd.dlna.mpeg-tts"] = "m2t",
     ["video/vnd.dvb.file"] = "dvb",
     ["video/vnd.fvt"] = "fvt",
     ["video/vnd.mpegurl"] = "m4u",
@@ -774,21 +926,27 @@ export {
     ["video/vnd.uvvu.mp4"] = "uvu",
     ["video/vnd.vivo"] = "viv",
     ["video/webm"] = "webm",
+    ["video/x-dv"] = "dv",
     ["video/x-f4v"] = "f4v",
     ["video/x-fli"] = "fli",
     ["video/x-flv"] = "flv",
+    ["video/x-ivf"] = "IVF",
+    ["video/x-la-asf"] = "lsf",
     ["video/x-m4v"] = "m4v",
     ["video/x-matroska"] = "mkv",
+    ["video/x-matroska-3d"] = "mk3d",
     ["video/x-mng"] = "mng",
     ["video/x-ms-asf"] = "asf",
-    ["video/x-msvideo"] = "avi",
     ["video/x-ms-vob"] = "vob",
-    ["video/x-ms-wmv"] = "wmv",
     ["video/x-ms-wm"] = "wm",
+    ["video/x-ms-wmp"] = "wmp",
+    ["video/x-ms-wmv"] = "wmv",
     ["video/x-ms-wmx"] = "wmx",
     ["video/x-ms-wvx"] = "wvx",
+    ["video/x-msvideo"] = "avi",
     ["video/x-sgi-movie"] = "movie",
     ["video/x-smv"] = "smv",
-    ["x-conference/x-cooltalk"] = "ice"
+    ["x-conference/x-cooltalk"] = "ice",
+    ["x-world/x-vrml"] = "wrl"
   } &default="bin" &redef;
 }

From 1ca00e0ab7643c492e313fd7f41d28fededd3828 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Mon, 8 Jan 2024 14:53:07 -0700
Subject: [PATCH 52/88] idaholab/Malcolm#290, add 'all files except common
 plain text files' to file carving option for Malcolm

---
 .../includes.chroot/opt/zeek/share/zeek/site/extractor.zeek     | 2 +-
 .../opt/zeek/share/zeek/site/extractor_params.zeek              | 2 ++
 zeek/config/extractor.zeek                                      | 2 +-
 zeek/config/extractor_params.zeek                               | 2 ++
 4 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek
index 643b67bc4..7f846c9ea 100644
--- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek
+++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek
@@ -16,7 +16,7 @@ event file_sniff(f: fa_file, meta: fa_metadata) {
       ((! meta?$mime_type) && extractor_always_extract_unknown) ||
       # we only want to extract knowns and we know the mime type OR
       ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) ||
-      # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped
+      # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped OR
       ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) ||
       # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those
       ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) {
diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
index b693186bd..6ec4ef4e1 100644
--- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
+++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
@@ -16,7 +16,9 @@ export {
   const plain_text_mimes : set[string] = {
     "application/json",
     "application/x-x509-ca-cert",
+    "application/x-x509-user-cert",
     "application/xml",
+    "text/json",
     "text/plain",
     "text/xml",
   } &redef;
diff --git a/zeek/config/extractor.zeek b/zeek/config/extractor.zeek
index 643b67bc4..7f846c9ea 100644
--- a/zeek/config/extractor.zeek
+++ b/zeek/config/extractor.zeek
@@ -16,7 +16,7 @@ event file_sniff(f: fa_file, meta: fa_metadata) {
       ((! meta?$mime_type) && extractor_always_extract_unknown) ||
       # we only want to extract knowns and we know the mime type OR
       ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) ||
-      # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped
+      # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped OR
       ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) ||
       # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those
       ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) {
diff --git a/zeek/config/extractor_params.zeek b/zeek/config/extractor_params.zeek
index b693186bd..6ec4ef4e1 100644
--- a/zeek/config/extractor_params.zeek
+++ b/zeek/config/extractor_params.zeek
@@ -16,7 +16,9 @@ export {
   const plain_text_mimes : set[string] = {
     "application/json",
     "application/x-x509-ca-cert",
+    "application/x-x509-user-cert",
     "application/xml",
+    "text/json",
     "text/plain",
     "text/xml",
   } &redef;

From 9c9f39c46231d496f9ba99654ae217da710491c0 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Mon, 8 Jan 2024 15:11:26 -0700
Subject: [PATCH 53/88] idaholab/Malcolm#290, add 'all files except common
 plain text files' to file carving option for Malcolm

---
 .../opt/zeek/share/zeek/site/extractor_params.zeek               | 1 +
 zeek/config/extractor_params.zeek                                | 1 +
 2 files changed, 2 insertions(+)

diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
index 6ec4ef4e1..9e1325fa0 100644
--- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
+++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek
@@ -15,6 +15,7 @@ export {
 
   const plain_text_mimes : set[string] = {
     "application/json",
+    "application/soap+xml",
     "application/x-x509-ca-cert",
     "application/x-x509-user-cert",
     "application/xml",
diff --git a/zeek/config/extractor_params.zeek b/zeek/config/extractor_params.zeek
index 6ec4ef4e1..9e1325fa0 100644
--- a/zeek/config/extractor_params.zeek
+++ b/zeek/config/extractor_params.zeek
@@ -15,6 +15,7 @@ export {
 
   const plain_text_mimes : set[string] = {
     "application/json",
+    "application/soap+xml",
     "application/x-x509-ca-cert",
     "application/x-x509-user-cert",
     "application/xml",

From 01e2323dfdca8db800abaebb9dc1cc81d9de354e Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Mon, 8 Jan 2024 15:19:04 -0700
Subject: [PATCH 54/88] fix idaholab/Malcolm#314, Suricata Alerts dashboard
 'tags' visualization is useless

---
 .../5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json | 902 +++++++++---------
 1 file changed, 451 insertions(+), 451 deletions(-)

diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
index 87f3167cc..49405f87b 100644
--- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
+++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
@@ -1,452 +1,452 @@
-{
-  "version": "1.3.1",
-  "objects": [
-    {
-      "id": "5694ca60-cbdf-11ec-a50a-5fedd672f5c5",
-      "type": "dashboard",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:51:44.144Z",
-      "version": "WzI1OTEsMV0=",
-      "attributes": {
-        "title": "Suricata Alerts",
-        "hits": 0,
-        "description": "",
-        "panelsJSON": "[{\"embeddableConfig\":{},\"gridData\":{\"h\":27,\"i\":\"5\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"5\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":11,\"i\":\"331da8a4-a726-4c07-9ff0-5f95eab912c8\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"331da8a4-a726-4c07-9ff0-5f95eab912c8\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":11,\"i\":\"daab2b41-3ca9-4410-a1c8-e1ba32e95de9\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"daab2b41-3ca9-4410-a1c8-e1ba32e95de9\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_2\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":16,\"i\":\"cdd4f7f8-4cd3-449d-9076-6e236f946ef3\",\"w\":19,\"x\":8,\"y\":11},\"panelIndex\":\"cdd4f7f8-4cd3-449d-9076-6e236f946ef3\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_3\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":35,\"i\":\"aa99aaa4-9970-4910-9762-07eac21bffc5\",\"w\":21,\"x\":27,\"y\":11},\"panelIndex\":\"aa99aaa4-9970-4910-9762-07eac21bffc5\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_4\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":19,\"i\":\"688db712-7f7f-4903-b484-367c3a52f15e\",\"w\":10,\"x\":0,\"y\":27},\"panelIndex\":\"688db712-7f7f-4903-b484-367c3a52f15e\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_5\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":19,\"i\":\"6a87656d-7ae9-4a7f-af93-e4bf91a39160\",\"w\":17,\"x\":10,\"y\":27},\"panelIndex\":\"6a87656d-7ae9-4a7f-af93-e4bf91a39160\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_6\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"e76eaf12-21aa-44bd-80ff-2383ccfee2a8\",\"w\":10,\"x\":0,\"y\":46},\"panelIndex\":\"e76eaf12-21aa-44bd-80ff-2383ccfee2a8\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_7\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"4884a3be-aece-45b8-942b-1a25221b5049\",\"w\":14,\"x\":10,\"y\":46},\"panelIndex\":\"4884a3be-aece-45b8-942b-1a25221b5049\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_8\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"19552ae8-56c1-488b-a559-f26fc2c0f881\",\"w\":12,\"x\":36,\"y\":46},\"panelIndex\":\"19552ae8-56c1-488b-a559-f26fc2c0f881\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_9\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"3b293194-f08c-490a-8c29-34b99a5dc0db\",\"w\":12,\"x\":24,\"y\":46},\"panelIndex\":\"3b293194-f08c-490a-8c29-34b99a5dc0db\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_10\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":30,\"i\":\"cd3b95fd-6dda-48d9-b91b-9e6b3d0bd125\",\"w\":48,\"x\":0,\"y\":64},\"panelIndex\":\"cd3b95fd-6dda-48d9-b91b-9e6b3d0bd125\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_11\"}]",
-        "optionsJSON": "{\"useMargins\":true}",
-        "version": 1,
-        "timeRestore": false,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"highlightAll\":false,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"filter\":[]}"
-        }
-      },
-      "references": [
-        {
-          "name": "panel_0",
-          "type": "visualization",
-          "id": "df9e399b-efa5-4e33-b0ac-a7668a8ac2b3"
-        },
-        {
-          "name": "panel_1",
-          "type": "visualization",
-          "id": "b4dcfd90-cbdf-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_2",
-          "type": "visualization",
-          "id": "ee686f90-cbdf-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_3",
-          "type": "visualization",
-          "id": "eac98170-cbe0-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_4",
-          "type": "visualization",
-          "id": "307db3e0-cbe0-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_5",
-          "type": "visualization",
-          "id": "d6c86460-cbe1-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_6",
-          "type": "visualization",
-          "id": "74e7d2c0-cbe2-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_7",
-          "type": "visualization",
-          "id": "b5c5a880-cbe2-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_8",
-          "type": "visualization",
-          "id": "dc1b0b10-cbe2-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_9",
-          "type": "visualization",
-          "id": "73105e30-cbe3-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_10",
-          "type": "visualization",
-          "id": "6cda8e00-cbe3-11ec-a50a-5fedd672f5c5"
-        },
-        {
-          "name": "panel_11",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "dashboard": "7.9.3"
-      }
-    },
-    {
-      "id": "df9e399b-efa5-4e33-b0ac-a7668a8ac2b3",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T17:53:15.100Z",
-      "version": "Wzc4NCwxXQ==",
-      "attributes": {
-        "title": "Network Logs",
-        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
-        "uiStateJSON": "{}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
-        }
-      },
-      "references": [],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "b4dcfd90-cbdf-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:24:11.223Z",
-      "version": "WzIxNzQsMV0=",
-      "attributes": {
-        "title": "Alerts - Log Count",
-        "visState": "{\"title\":\"Alerts - Log Count\",\"type\":\"metric\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":false},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":36}}}}",
-        "uiStateJSON": "{}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "ee686f90-cbdf-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:25:17.961Z",
-      "version": "WzIxODEsMV0=",
-      "attributes": {
-        "title": "Alerts - Log Count Over Time",
-        "visState": "{\"title\":\"Alerts - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
-        "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "eac98170-cbe0-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:42:11.290Z",
-      "version": "WzIzMjgsMV0=",
-      "attributes": {
-        "title": "Alerts - Tags",
-        "visState": "{\"title\":\"Alerts - Tags\",\"type\":\"tagcloud\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"tags\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"schema\":\"segment\"}}],\"params\":{\"scale\":\"square root\",\"orientation\":\"single\",\"minFontSize\":18,\"maxFontSize\":48,\"showLabel\":false}}",
-        "uiStateJSON": "{}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "307db3e0-cbe0-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:27:08.830Z",
-      "version": "WzIxOTUsMV0=",
-      "attributes": {
-        "title": "Alert Category",
-        "visState": "{\"title\":\"Alert Category\",\"type\":\"horizontal_bar\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"rule.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":30,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Category\"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":200},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":75,\"filter\":true,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
-        "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "d6c86460-cbe1-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:48:01.982Z",
-      "version": "WzI0NTYsMV0=",
-      "attributes": {
-        "title": "Alerts - Target",
-        "visState": "{\"title\":\"Alerts - Target\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"vulnerability.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Target\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
-        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "74e7d2c0-cbe2-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:48:21.122Z",
-      "version": "WzI0NzQsMV0=",
-      "attributes": {
-        "title": "Alerts - Name",
-        "visState": "{\"title\":\"Alerts - Name\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"rule.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Name\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
-        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "b5c5a880-cbe2-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:47:45.982Z",
-      "version": "WzI0MzgsMV0=",
-      "attributes": {
-        "title": "Alerts - Source",
-        "visState": "{\"title\":\"Alerts - Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"source.ip\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source IP\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
-        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "dc1b0b10-cbe2-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:47:26.491Z",
-      "version": "WzI0MTUsMV0=",
-      "attributes": {
-        "title": "Alerts - Destination",
-        "visState": "{\"title\":\"Alerts - Destination\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.ip\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination IP\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.port\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination Port\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
-        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "73105e30-cbe3-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:51:21.487Z",
-      "version": "WzI1NzUsMV0=",
-      "attributes": {
-        "title": "Alerts - Destination Country",
-        "visState": "{\"title\":\"Alerts - Destination Country\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.geo.country_name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination Country\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
-        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "6cda8e00-cbe3-11ec-a50a-5fedd672f5c5",
-      "type": "visualization",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T19:50:18.591Z",
-      "version": "WzI1MzgsMV0=",
-      "attributes": {
-        "title": "Alerts - Source Country",
-        "visState": "{\"title\":\"Alerts - Source Country\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"source.geo.country_name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source Country\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
-        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
-        "description": "",
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
-        },
-        "savedSearchRefName": "search_0"
-      },
-      "references": [
-        {
-          "name": "search_0",
-          "type": "search",
-          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
-        }
-      ],
-      "migrationVersion": {
-        "visualization": "7.10.0"
-      }
-    },
-    {
-      "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5",
-      "type": "search",
-      "namespaces": [
-        "default"
-      ],
-      "updated_at": "2022-05-04T18:29:39.730Z",
-      "version": "WzEzMTcsMV0=",
-      "attributes": {
-        "title": "Suricata Alerts - Logs",
-        "description": "",
-        "hits": 0,
-        "columns": [
-          "rule.category",
-          "rule.name",
-          "rule.id",
-          "vulnerability.category",
-          "source.ip",
-          "destination.ip",
-          "event.id"
-        ],
-        "sort": [],
-        "version": 1,
-        "kibanaSavedObjectMeta": {
-          "searchSourceJSON": "{\"highlightAll\":false,\"version\":true,\"query\":{\"query\":\"event.provider:suricata AND event.dataset:alert\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"
-        }
-      },
-      "references": [
-        {
-          "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
-          "type": "index-pattern",
-          "id": "arkime_sessions3-*"
-        }
-      ],
-      "migrationVersion": {
-        "search": "7.9.3"
-      }
-    }
-  ]
+{
+  "version": "2.11.1",
+  "objects": [
+    {
+      "id": "5694ca60-cbdf-11ec-a50a-5fedd672f5c5",
+      "type": "dashboard",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:17:37.689Z",
+      "version": "Wzk1MSwxXQ==",
+      "attributes": {
+        "title": "Suricata Alerts",
+        "hits": 0,
+        "description": "",
+        "panelsJSON": "[{\"version\":\"2.11.1\",\"gridData\":{\"h\":27,\"i\":\"5\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"5\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":11,\"i\":\"331da8a4-a726-4c07-9ff0-5f95eab912c8\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"331da8a4-a726-4c07-9ff0-5f95eab912c8\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":11,\"i\":\"daab2b41-3ca9-4410-a1c8-e1ba32e95de9\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"daab2b41-3ca9-4410-a1c8-e1ba32e95de9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":16,\"i\":\"cdd4f7f8-4cd3-449d-9076-6e236f946ef3\",\"w\":19,\"x\":8,\"y\":11},\"panelIndex\":\"cdd4f7f8-4cd3-449d-9076-6e236f946ef3\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":35,\"i\":\"aa99aaa4-9970-4910-9762-07eac21bffc5\",\"w\":21,\"x\":27,\"y\":11},\"panelIndex\":\"aa99aaa4-9970-4910-9762-07eac21bffc5\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":19,\"i\":\"688db712-7f7f-4903-b484-367c3a52f15e\",\"w\":10,\"x\":0,\"y\":27},\"panelIndex\":\"688db712-7f7f-4903-b484-367c3a52f15e\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_5\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":19,\"i\":\"6a87656d-7ae9-4a7f-af93-e4bf91a39160\",\"w\":17,\"x\":10,\"y\":27},\"panelIndex\":\"6a87656d-7ae9-4a7f-af93-e4bf91a39160\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_6\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":18,\"i\":\"e76eaf12-21aa-44bd-80ff-2383ccfee2a8\",\"w\":10,\"x\":0,\"y\":46},\"panelIndex\":\"e76eaf12-21aa-44bd-80ff-2383ccfee2a8\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_7\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":18,\"i\":\"4884a3be-aece-45b8-942b-1a25221b5049\",\"w\":14,\"x\":10,\"y\":46},\"panelIndex\":\"4884a3be-aece-45b8-942b-1a25221b5049\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":2,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_8\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":18,\"i\":\"19552ae8-56c1-488b-a559-f26fc2c0f881\",\"w\":12,\"x\":36,\"y\":46},\"panelIndex\":\"19552ae8-56c1-488b-a559-f26fc2c0f881\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_9\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":18,\"i\":\"3b293194-f08c-490a-8c29-34b99a5dc0db\",\"w\":12,\"x\":24,\"y\":46},\"panelIndex\":\"3b293194-f08c-490a-8c29-34b99a5dc0db\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_10\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":30,\"i\":\"cd3b95fd-6dda-48d9-b91b-9e6b3d0bd125\",\"w\":48,\"x\":0,\"y\":64},\"panelIndex\":\"cd3b95fd-6dda-48d9-b91b-9e6b3d0bd125\",\"embeddableConfig\":{},\"panelRefName\":\"panel_11\"}]",
+        "optionsJSON": "{\"useMargins\":true}",
+        "version": 1,
+        "timeRestore": false,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"highlightAll\":false,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"filter\":[]}"
+        }
+      },
+      "references": [
+        {
+          "name": "panel_0",
+          "type": "visualization",
+          "id": "df9e399b-efa5-4e33-b0ac-a7668a8ac2b3"
+        },
+        {
+          "name": "panel_1",
+          "type": "visualization",
+          "id": "b4dcfd90-cbdf-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_2",
+          "type": "visualization",
+          "id": "ee686f90-cbdf-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_3",
+          "type": "visualization",
+          "id": "eac98170-cbe0-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_4",
+          "type": "visualization",
+          "id": "307db3e0-cbe0-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_5",
+          "type": "visualization",
+          "id": "d6c86460-cbe1-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_6",
+          "type": "visualization",
+          "id": "74e7d2c0-cbe2-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_7",
+          "type": "visualization",
+          "id": "b5c5a880-cbe2-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_8",
+          "type": "visualization",
+          "id": "dc1b0b10-cbe2-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_9",
+          "type": "visualization",
+          "id": "73105e30-cbe3-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_10",
+          "type": "visualization",
+          "id": "6cda8e00-cbe3-11ec-a50a-5fedd672f5c5"
+        },
+        {
+          "name": "panel_11",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "dashboard": "7.9.3"
+      }
+    },
+    {
+      "id": "df9e399b-efa5-4e33-b0ac-a7668a8ac2b3",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:09:25.111Z",
+      "version": "Wzg2MSwxXQ==",
+      "attributes": {
+        "title": "Network Logs",
+        "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576)  \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405)  \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf)  \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330)  \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4)  \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed)  \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714)  \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3)  \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85)  \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11)  \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f)  \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b)  \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1)  \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed)  \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5)  \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f)  \\n[↪ NetBox](/netbox/)  \\n[↪ Arkime](/arkime/)  \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406)   ●   [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e)   ●   [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9)   ●   [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48)   ●   [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876)   ●   [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3)   ●   [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673)   ●   [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24)   ●   [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105)   ●   [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6)   ●   [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37)   ●   [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586)   ●   [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0)   ●   [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c)   ●   [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970)   ●   [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0)   ●   [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26)   ●   [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa)   ●   [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773)   ●   [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f)   ●   [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab)   ●   [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238)   ●   [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3)   ●   [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd)   ●   [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d)   ●   [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88)   ●   [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2)   ●   [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194)   ●   [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad)   ●   [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3)   ●   [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4)   ●   [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194)   ●   [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7)   ●   [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8)   ●   [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4)   ●   [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194)   ●   [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194)   ●   [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4)   ●   [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}",
+        "uiStateJSON": "{}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+        }
+      },
+      "references": [],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "b4dcfd90-cbdf-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM4OSwxXQ==",
+      "attributes": {
+        "title": "Alerts - Log Count",
+        "visState": "{\"title\":\"Alerts - Log Count\",\"type\":\"metric\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":false},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":36}}}}",
+        "uiStateJSON": "{}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "ee686f90-cbdf-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM5MCwxXQ==",
+      "attributes": {
+        "title": "Alerts - Log Count Over Time",
+        "visState": "{\"title\":\"Alerts - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "eac98170-cbe0-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:14:24.341Z",
+      "version": "Wzk1MCwxXQ==",
+      "attributes": {
+        "title": "Alerts - Tags",
+        "visState": "{\"title\":\"Alerts - Tags\",\"type\":\"tagcloud\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"tags\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"tags\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"},\"schema\":\"segment\"}],\"params\":{\"scale\":\"square root\",\"orientation\":\"single\",\"minFontSize\":18,\"maxFontSize\":48,\"showLabel\":false}}",
+        "uiStateJSON": "{}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "307db3e0-cbe0-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM5MiwxXQ==",
+      "attributes": {
+        "title": "Alert Category",
+        "visState": "{\"title\":\"Alert Category\",\"type\":\"horizontal_bar\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"rule.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":30,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Category\"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":200},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":75,\"filter\":true,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "d6c86460-cbe1-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM5MywxXQ==",
+      "attributes": {
+        "title": "Alerts - Target",
+        "visState": "{\"title\":\"Alerts - Target\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"vulnerability.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Target\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "74e7d2c0-cbe2-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM5NCwxXQ==",
+      "attributes": {
+        "title": "Alerts - Name",
+        "visState": "{\"title\":\"Alerts - Name\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"rule.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Name\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "b5c5a880-cbe2-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM5NSwxXQ==",
+      "attributes": {
+        "title": "Alerts - Source",
+        "visState": "{\"title\":\"Alerts - Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"source.ip\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source IP\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "dc1b0b10-cbe2-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM5NiwxXQ==",
+      "attributes": {
+        "title": "Alerts - Destination",
+        "visState": "{\"title\":\"Alerts - Destination\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.ip\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination IP\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.port\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination Port\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "73105e30-cbe3-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM5NywxXQ==",
+      "attributes": {
+        "title": "Alerts - Destination Country",
+        "visState": "{\"title\":\"Alerts - Destination Country\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.geo.country_name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination Country\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "6cda8e00-cbe3-11ec-a50a-5fedd672f5c5",
+      "type": "visualization",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM5OCwxXQ==",
+      "attributes": {
+        "title": "Alerts - Source Country",
+        "visState": "{\"title\":\"Alerts - Source Country\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"source.geo.country_name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source Country\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
+        },
+        "savedSearchRefName": "search_0"
+      },
+      "references": [
+        {
+          "name": "search_0",
+          "type": "search",
+          "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5"
+        }
+      ],
+      "migrationVersion": {
+        "visualization": "7.10.0"
+      }
+    },
+    {
+      "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5",
+      "type": "search",
+      "namespaces": [
+        "default"
+      ],
+      "updated_at": "2024-01-08T22:08:43.581Z",
+      "version": "WzM5OSwxXQ==",
+      "attributes": {
+        "title": "Suricata Alerts - Logs",
+        "description": "",
+        "hits": 0,
+        "columns": [
+          "rule.category",
+          "rule.name",
+          "rule.id",
+          "vulnerability.category",
+          "source.ip",
+          "destination.ip",
+          "event.id"
+        ],
+        "sort": [],
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+          "searchSourceJSON": "{\"highlightAll\":false,\"version\":true,\"query\":{\"query\":\"event.provider:suricata AND event.dataset:alert\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"
+        }
+      },
+      "references": [
+        {
+          "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
+          "type": "index-pattern",
+          "id": "arkime_sessions3-*"
+        }
+      ],
+      "migrationVersion": {
+        "search": "7.9.3"
+      }
+    }
+  ]
 }
\ No newline at end of file

From 93bf0a47c065b01429656e2b3fec816937f96852 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 9 Jan 2024 10:11:10 -0700
Subject: [PATCH 55/88] update prompt to reflect URL is allow for htpdate sync
 (idaholab/Malcolm#324)

---
 shared/bin/configure-interfaces.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/shared/bin/configure-interfaces.py b/shared/bin/configure-interfaces.py
index 56eafb508..aff275b4a 100755
--- a/shared/bin/configure-interfaces.py
+++ b/shared/bin/configure-interfaces.py
@@ -66,7 +66,7 @@ class Constants:
     MSG_CONFIG_SSH = ('SSH Authentication', 'Configure SSH authentication')
     MSG_CONFIG_STATIC_TITLE = 'Provide the values for static IP configuration'
     MSG_ERR_ROOT_REQUIRED = 'Elevated privileges required, run as root'
-    MSG_ERR_BAD_HOST = 'Invalid host or port'
+    MSG_ERR_BAD_HOST = 'Invalid host/URL or port'
     MSG_MESSAGE_DHCP = 'Configuring for DHCP provided address...'
     MSG_MESSAGE_ERROR = 'Error: {}\n\nPlease try again.'
     MSG_MESSAGE_STATIC = 'Configuring for static IP address...'
@@ -304,7 +304,7 @@ def main():
                         # host/port for htpdate
                         code, values = d.form(
                             Constants.MSG_TIME_SYNC_HTPDATE_CONFIG,
-                            [('Host', 1, 1, '', 1, 25, 30, 255), ('Port', 2, 1, '9200', 2, 25, 6, 5)],
+                            [('URL', 1, 1, '', 1, 25, 30, 255), ('Port', 2, 1, '443', 2, 25, 6, 5)],
                         )
                         values = [x.strip() for x in values]
 

From 50cc2334dd71b80c8c3319478fed4a9690467f15 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 9 Jan 2024 11:17:20 -0700
Subject: [PATCH 56/88] consistenly populate MALCOLM_VERSION, BUILD_DATE,
 VCS_REVISION in docker images

---
 Dockerfiles/api.Dockerfile               |  1 -
 Dockerfiles/arkime.Dockerfile            |  3 +++
 Dockerfiles/dashboards-helper.Dockerfile |  3 +++
 Dockerfiles/dashboards.Dockerfile        |  3 +++
 Dockerfiles/dirinit.Dockerfile           |  3 +++
 Dockerfiles/file-monitor.Dockerfile      |  3 +++
 Dockerfiles/file-upload.Dockerfile       |  3 +++
 Dockerfiles/filebeat.Dockerfile          |  3 +++
 Dockerfiles/freq.Dockerfile              |  3 +++
 Dockerfiles/htadmin.Dockerfile           |  3 +++
 Dockerfiles/logstash.Dockerfile          |  3 +++
 Dockerfiles/netbox.Dockerfile            |  1 -
 Dockerfiles/nginx.Dockerfile             |  3 +++
 Dockerfiles/opensearch.Dockerfile        |  3 +++
 Dockerfiles/pcap-capture.Dockerfile      |  3 +++
 Dockerfiles/pcap-monitor.Dockerfile      |  3 +++
 Dockerfiles/postgresql.Dockerfile        |  1 -
 Dockerfiles/redis.Dockerfile             |  1 -
 Dockerfiles/suricata.Dockerfile          | 13 +++++++++++++
 Dockerfiles/zeek.Dockerfile              |  3 +++
 scripts/build.sh                         |  2 +-
 21 files changed, 59 insertions(+), 5 deletions(-)

diff --git a/Dockerfiles/api.Dockerfile b/Dockerfiles/api.Dockerfile
index e4666a15a..dc80e696a 100644
--- a/Dockerfiles/api.Dockerfile
+++ b/Dockerfiles/api.Dockerfile
@@ -106,7 +106,6 @@ ENTRYPOINT ["/usr/bin/tini", \
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
-
 ENV BUILD_DATE $BUILD_DATE
 ENV MALCOLM_VERSION $MALCOLM_VERSION
 ENV VCS_REVISION $VCS_REVISION
diff --git a/Dockerfiles/arkime.Dockerfile b/Dockerfiles/arkime.Dockerfile
index e1fbcc82e..1ae22ebba 100644
--- a/Dockerfiles/arkime.Dockerfile
+++ b/Dockerfiles/arkime.Dockerfile
@@ -277,6 +277,9 @@ CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile
index 217c139fe..e8e009089 100644
--- a/Dockerfiles/dashboards-helper.Dockerfile
+++ b/Dockerfiles/dashboards-helper.Dockerfile
@@ -117,6 +117,9 @@ VOLUME ["/data/init"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/dashboards.Dockerfile b/Dockerfiles/dashboards.Dockerfile
index 1ccbca95a..37991229f 100644
--- a/Dockerfiles/dashboards.Dockerfile
+++ b/Dockerfiles/dashboards.Dockerfile
@@ -118,6 +118,9 @@ EXPOSE 5601
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/dirinit.Dockerfile b/Dockerfiles/dirinit.Dockerfile
index e13689ee5..b469571aa 100644
--- a/Dockerfiles/dirinit.Dockerfile
+++ b/Dockerfiles/dirinit.Dockerfile
@@ -42,6 +42,9 @@ ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
 
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 ENV BUILD_DATE $BUILD_DATE
 ENV MALCOLM_VERSION $MALCOLM_VERSION
 ENV VCS_REVISION $VCS_REVISION
diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile
index aae54c3b3..20e831c7a 100644
--- a/Dockerfiles/file-monitor.Dockerfile
+++ b/Dockerfiles/file-monitor.Dockerfile
@@ -256,6 +256,9 @@ CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/file-upload.Dockerfile b/Dockerfiles/file-upload.Dockerfile
index fd582306a..1d6c2cab2 100644
--- a/Dockerfiles/file-upload.Dockerfile
+++ b/Dockerfiles/file-upload.Dockerfile
@@ -140,6 +140,9 @@ CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf", "-u", "root", "-n"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/filebeat.Dockerfile b/Dockerfiles/filebeat.Dockerfile
index f3ee8e66c..659236bfc 100644
--- a/Dockerfiles/filebeat.Dockerfile
+++ b/Dockerfiles/filebeat.Dockerfile
@@ -181,6 +181,9 @@ CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf", "-u", "root",
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/freq.Dockerfile b/Dockerfiles/freq.Dockerfile
index 82f9067b4..3801f963c 100644
--- a/Dockerfiles/freq.Dockerfile
+++ b/Dockerfiles/freq.Dockerfile
@@ -77,6 +77,9 @@ CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/htadmin.Dockerfile b/Dockerfiles/htadmin.Dockerfile
index ffcc27bd9..82718df06 100644
--- a/Dockerfiles/htadmin.Dockerfile
+++ b/Dockerfiles/htadmin.Dockerfile
@@ -104,6 +104,9 @@ CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf", "-u", "root", "-n"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/logstash.Dockerfile b/Dockerfiles/logstash.Dockerfile
index e5e792f2e..85c7104fc 100644
--- a/Dockerfiles/logstash.Dockerfile
+++ b/Dockerfiles/logstash.Dockerfile
@@ -143,6 +143,9 @@ CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile
index fce34a491..c513fe26a 100644
--- a/Dockerfiles/netbox.Dockerfile
+++ b/Dockerfiles/netbox.Dockerfile
@@ -138,7 +138,6 @@ CMD ["/opt/netbox/docker-entrypoint.sh", "/usr/bin/supervisord", "-c", "/etc/sup
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
-
 ENV BUILD_DATE $BUILD_DATE
 ENV MALCOLM_VERSION $MALCOLM_VERSION
 ENV VCS_REVISION $VCS_REVISION
diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index d86c8cbf8..425e3fcbb 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -264,6 +264,9 @@ CMD ["supervisord", "-c", "/etc/supervisord.conf", "-u", "root", "-n"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/opensearch.Dockerfile b/Dockerfiles/opensearch.Dockerfile
index bdfccaf61..82fbddd10 100644
--- a/Dockerfiles/opensearch.Dockerfile
+++ b/Dockerfiles/opensearch.Dockerfile
@@ -92,6 +92,9 @@ CMD ["/usr/share/opensearch/opensearch-docker-entrypoint.sh"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/pcap-capture.Dockerfile b/Dockerfiles/pcap-capture.Dockerfile
index c582e9e26..15cc1b528 100644
--- a/Dockerfiles/pcap-capture.Dockerfile
+++ b/Dockerfiles/pcap-capture.Dockerfile
@@ -105,6 +105,9 @@ CMD ["/usr/local/bin/supervisor.sh"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/pcap-monitor.Dockerfile b/Dockerfiles/pcap-monitor.Dockerfile
index b1baabbee..84a9a0b0f 100644
--- a/Dockerfiles/pcap-monitor.Dockerfile
+++ b/Dockerfiles/pcap-monitor.Dockerfile
@@ -99,6 +99,9 @@ CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf", "-u", "root", "-n"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/Dockerfiles/postgresql.Dockerfile b/Dockerfiles/postgresql.Dockerfile
index dde2e3b4d..4f263abbb 100644
--- a/Dockerfiles/postgresql.Dockerfile
+++ b/Dockerfiles/postgresql.Dockerfile
@@ -52,7 +52,6 @@ CMD ["/usr/bin/docker-entrypoint.sh", "postgres"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
-
 ENV BUILD_DATE $BUILD_DATE
 ENV MALCOLM_VERSION $MALCOLM_VERSION
 ENV VCS_REVISION $VCS_REVISION
diff --git a/Dockerfiles/redis.Dockerfile b/Dockerfiles/redis.Dockerfile
index a7ce82e61..0e28fdf3d 100644
--- a/Dockerfiles/redis.Dockerfile
+++ b/Dockerfiles/redis.Dockerfile
@@ -41,7 +41,6 @@ ENTRYPOINT ["/sbin/tini", \
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
-
 ENV BUILD_DATE $BUILD_DATE
 ENV MALCOLM_VERSION $MALCOLM_VERSION
 ENV VCS_REVISION $VCS_REVISION
diff --git a/Dockerfiles/suricata.Dockerfile b/Dockerfiles/suricata.Dockerfile
index 62f026d4b..e75aa2d30 100644
--- a/Dockerfiles/suricata.Dockerfile
+++ b/Dockerfiles/suricata.Dockerfile
@@ -199,3 +199,16 @@ ENTRYPOINT ["/usr/bin/tini", \
             "/usr/local/bin/docker_entrypoint.sh"]
 
 CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"]
+
+
+# to be populated at build-time:
+ARG BUILD_DATE
+ARG MALCOLM_VERSION
+ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
+
+LABEL org.opencontainers.image.created=$BUILD_DATE
+LABEL org.opencontainers.image.version=$MALCOLM_VERSION
+LABEL org.opencontainers.image.revision=$VCS_REVISION
diff --git a/Dockerfiles/zeek.Dockerfile b/Dockerfiles/zeek.Dockerfile
index b71ae6801..a036649ab 100644
--- a/Dockerfiles/zeek.Dockerfile
+++ b/Dockerfiles/zeek.Dockerfile
@@ -358,6 +358,9 @@ CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"]
 ARG BUILD_DATE
 ARG MALCOLM_VERSION
 ARG VCS_REVISION
+ENV BUILD_DATE $BUILD_DATE
+ENV MALCOLM_VERSION $MALCOLM_VERSION
+ENV VCS_REVISION $VCS_REVISION
 
 LABEL org.opencontainers.image.created=$BUILD_DATE
 LABEL org.opencontainers.image.version=$MALCOLM_VERSION
diff --git a/scripts/build.sh b/scripts/build.sh
index ec85eeb1c..c5330f14b 100755
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -77,7 +77,7 @@ read -p "Malcolm Docker images will now be built and/or pulled, force full clean
 CONFIRMATION=${CONFIRMATION:-N}
 
 BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')"
-MALCOLM_VERSION="$($GREP -P "^\s+image:\s*malcolm" "$CONFIG_FILE" | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)"
+MALCOLM_VERSION="$($GREP -P "^\s+image:\s*.*/malcolm/" "$CONFIG_FILE" | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)"
 VCS_REVISION="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)"
 GITHUB_API_TOKEN="${GITHUB_TOKEN:-}"
 

From fafa2f10bee6aa351a920798e89a00e6480ee9a3 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 9 Jan 2024 11:31:01 -0700
Subject: [PATCH 57/88] landingpage work in progress (idaholab/Malcolm#252)

---
 nginx/landingpage/index.html       | 2 +-
 nginx/scripts/docker_entrypoint.sh | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index 82637d7f5..50cfcb1a3 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -105,7 +105,7 @@ <h3>API</h3></a>
                 <div class="row">
                     <div class="col-lg-6 h-100 text-center text-lg-start my-auto">
                         <p class="text-muted small mb-4 mb-lg-0">
-                        &copy; 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the
+                        <a href="https://github.com/idaholab/Malcolm/releases">Malcolm MALCOLM_VERSION_REPLACER</a> &copy; 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the
                         Cybersecurity and Infrastructure Security Agency of the U.S. Department of Homeland Security.</p>
                     </div>
                     <div class="col-lg-6 h-100 text-center text-lg-end my-auto">
diff --git a/nginx/scripts/docker_entrypoint.sh b/nginx/scripts/docker_entrypoint.sh
index 4d96735d7..9a81dfafa 100755
--- a/nginx/scripts/docker_entrypoint.sh
+++ b/nginx/scripts/docker_entrypoint.sh
@@ -26,6 +26,8 @@ if [ "$socketMissing" = 1 -a "$1" = 'supervisord' -a "$2" = '-c' -a "$3" = '/etc
   exit 1
 fi
 
+NGINX_LANDING_INDEX_HTML=/usr/share/nginx/html/index.html
+
 # set up for HTTPS/HTTP and NGINX HTTP basic vs. LDAP/LDAPS/LDAP+StartTLS auth
 
 # "include" file that sets 'ssl on' and indicates the locations of the PEM files
@@ -244,6 +246,8 @@ if [[ ! -f /etc/nginx/auth/htpasswd ]] && [[ -f /tmp/auth/default/htpasswd ]]; t
   rm -rf /tmp/auth/* || true
 fi
 
+[[ -f "${NGINX_LANDING_INDEX_HTML}" ]] && sed -i "s/MALCOLM_VERSION_REPLACER/v${MALCOLM_VERSION:-unknown} (${VCS_REVISION:-} @ ${BUILD_DATE:-})/g" "${NGINX_LANDING_INDEX_HTML}"
+
 rm -rf /var/log/nginx/* || true
 
 # start supervisor (which will spawn nginx, stunnel, etc.) or whatever the default command is

From ec8882f4a477bffb9e062c12fefe8ce61376e557 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 07:27:16 -0700
Subject: [PATCH 58/88] extract build version, build timestamp, and VCS
 revision for all images

---
 .github/workflows/api-build-and-push-ghcr.yml | 19 ++++++++++++++++
 .../workflows/arkime-build-and-push-ghcr.yml  | 18 +++++++++++++++
 .../dashboards-build-and-push-ghcr.yml        | 19 ++++++++++++++++
 .../dashboards-helper-build-and-push-ghcr.yml | 19 ++++++++++++++++
 .../workflows/dirinit-build-and-push-ghcr.yml | 19 ++++++++++++++++
 .../file-monitor-build-and-push-ghcr.yml      | 19 ++++++++++++++++
 .../file-upload-build-and-push-ghcr.yml       | 19 ++++++++++++++++
 .../filebeat-build-and-push-ghcr.yml          | 19 ++++++++++++++++
 .../workflows/freq-build-and-push-ghcr.yml    | 19 ++++++++++++++++
 .../workflows/htadmin-build-and-push-ghcr.yml | 19 ++++++++++++++++
 .../logstash-build-and-push-ghcr.yml          | 19 ++++++++++++++++
 .../workflows/netbox-build-and-push-ghcr.yml  | 19 ++++++++++++++++
 .../workflows/nginx-build-and-push-ghcr.yml   | 12 ++++++++++
 .../opensearch-build-and-push-ghcr.yml        | 19 ++++++++++++++++
 .../pcap-capture-build-and-push-ghcr.yml      | 19 ++++++++++++++++
 .../pcap-monitor-build-and-push-ghcr.yml      | 19 ++++++++++++++++
 .../postgresql-build-and-push-ghcr.yml        | 19 ++++++++++++++++
 .../workflows/redis-build-and-push-ghcr.yml   | 19 ++++++++++++++++
 .../suricata-build-and-push-ghcr.yml          | 19 ++++++++++++++++
 .../workflows/zeek-build-and-push-ghcr.yml    | 22 +++++++++++++++++--
 scripts/build.sh                              |  2 +-
 21 files changed, 374 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/api-build-and-push-ghcr.yml b/.github/workflows/api-build-and-push-ghcr.yml
index 5a3ab5eee..dacbb7a4f 100644
--- a/.github/workflows/api-build-and-push-ghcr.yml
+++ b/.github/workflows/api-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/api.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/api:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/arkime-build-and-push-ghcr.yml b/.github/workflows/arkime-build-and-push-ghcr.yml
index 51e258b03..c847c9995 100644
--- a/.github/workflows/arkime-build-and-push-ghcr.yml
+++ b/.github/workflows/arkime-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -67,6 +82,9 @@ jobs:
           context: .
           file: ./Dockerfiles/arkime.Dockerfile
           build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
             MAXMIND_GEOIP_DB_LICENSE_KEY=${{ secrets.MAXMIND_GEOIP_DB_LICENSE_KEY }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/arkime:${{ steps.extract_branch.outputs.branch }}
diff --git a/.github/workflows/dashboards-build-and-push-ghcr.yml b/.github/workflows/dashboards-build-and-push-ghcr.yml
index 5f4e729ee..ada149096 100644
--- a/.github/workflows/dashboards-build-and-push-ghcr.yml
+++ b/.github/workflows/dashboards-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/dashboards.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/dashboards:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/dashboards-helper-build-and-push-ghcr.yml b/.github/workflows/dashboards-helper-build-and-push-ghcr.yml
index 2a4fb6a47..1ec639dcb 100644
--- a/.github/workflows/dashboards-helper-build-and-push-ghcr.yml
+++ b/.github/workflows/dashboards-helper-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/dashboards-helper.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/dashboards-helper:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/dirinit-build-and-push-ghcr.yml b/.github/workflows/dirinit-build-and-push-ghcr.yml
index c57ed918a..db9b8bdd3 100644
--- a/.github/workflows/dirinit-build-and-push-ghcr.yml
+++ b/.github/workflows/dirinit-build-and-push-ghcr.yml
@@ -31,11 +31,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -58,6 +73,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/dirinit.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/dirinit:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/file-monitor-build-and-push-ghcr.yml b/.github/workflows/file-monitor-build-and-push-ghcr.yml
index c74860015..10c6885da 100644
--- a/.github/workflows/file-monitor-build-and-push-ghcr.yml
+++ b/.github/workflows/file-monitor-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/file-monitor.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/file-monitor:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/file-upload-build-and-push-ghcr.yml b/.github/workflows/file-upload-build-and-push-ghcr.yml
index eb42c5ee1..6228bfa20 100644
--- a/.github/workflows/file-upload-build-and-push-ghcr.yml
+++ b/.github/workflows/file-upload-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/file-upload.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/file-upload:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/filebeat-build-and-push-ghcr.yml b/.github/workflows/filebeat-build-and-push-ghcr.yml
index c56c1c6a8..5d67fd099 100644
--- a/.github/workflows/filebeat-build-and-push-ghcr.yml
+++ b/.github/workflows/filebeat-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/filebeat.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/filebeat-oss:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/freq-build-and-push-ghcr.yml b/.github/workflows/freq-build-and-push-ghcr.yml
index b8e589f19..a6411ca25 100644
--- a/.github/workflows/freq-build-and-push-ghcr.yml
+++ b/.github/workflows/freq-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/freq.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/freq:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/htadmin-build-and-push-ghcr.yml b/.github/workflows/htadmin-build-and-push-ghcr.yml
index 04ac783ce..954d245aa 100644
--- a/.github/workflows/htadmin-build-and-push-ghcr.yml
+++ b/.github/workflows/htadmin-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/htadmin.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/htadmin:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/logstash-build-and-push-ghcr.yml b/.github/workflows/logstash-build-and-push-ghcr.yml
index f358e2226..19ae8e43e 100644
--- a/.github/workflows/logstash-build-and-push-ghcr.yml
+++ b/.github/workflows/logstash-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/logstash.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/logstash-oss:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/netbox-build-and-push-ghcr.yml b/.github/workflows/netbox-build-and-push-ghcr.yml
index 65cc11a71..c59567995 100644
--- a/.github/workflows/netbox-build-and-push-ghcr.yml
+++ b/.github/workflows/netbox-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/netbox.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/netbox:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/nginx-build-and-push-ghcr.yml b/.github/workflows/nginx-build-and-push-ghcr.yml
index 7ef3e9a7f..06f028768 100644
--- a/.github/workflows/nginx-build-and-push-ghcr.yml
+++ b/.github/workflows/nginx-build-and-push-ghcr.yml
@@ -46,6 +46,11 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
@@ -56,6 +61,11 @@ jobs:
         shell: bash
         run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
         id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -79,6 +89,8 @@ jobs:
           context: .
           file: ./Dockerfiles/nginx.Dockerfile
           build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
             VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
             GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
           push: true
diff --git a/.github/workflows/opensearch-build-and-push-ghcr.yml b/.github/workflows/opensearch-build-and-push-ghcr.yml
index 225b89a2d..8a0083bad 100644
--- a/.github/workflows/opensearch-build-and-push-ghcr.yml
+++ b/.github/workflows/opensearch-build-and-push-ghcr.yml
@@ -38,11 +38,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -65,6 +80,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/opensearch.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/opensearch:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/pcap-capture-build-and-push-ghcr.yml b/.github/workflows/pcap-capture-build-and-push-ghcr.yml
index e8de170c4..332d0b560 100644
--- a/.github/workflows/pcap-capture-build-and-push-ghcr.yml
+++ b/.github/workflows/pcap-capture-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/pcap-capture.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/pcap-capture:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/pcap-monitor-build-and-push-ghcr.yml b/.github/workflows/pcap-monitor-build-and-push-ghcr.yml
index ca5138e18..385ec4fec 100644
--- a/.github/workflows/pcap-monitor-build-and-push-ghcr.yml
+++ b/.github/workflows/pcap-monitor-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/pcap-monitor.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/pcap-monitor:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/postgresql-build-and-push-ghcr.yml b/.github/workflows/postgresql-build-and-push-ghcr.yml
index 29aefda44..c90fd8b64 100644
--- a/.github/workflows/postgresql-build-and-push-ghcr.yml
+++ b/.github/workflows/postgresql-build-and-push-ghcr.yml
@@ -38,11 +38,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -65,6 +80,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/postgresql.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/postgresql:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/redis-build-and-push-ghcr.yml b/.github/workflows/redis-build-and-push-ghcr.yml
index a04d0369b..921e11c91 100644
--- a/.github/workflows/redis-build-and-push-ghcr.yml
+++ b/.github/workflows/redis-build-and-push-ghcr.yml
@@ -38,11 +38,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -65,6 +80,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/redis.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/redis:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/suricata-build-and-push-ghcr.yml b/.github/workflows/suricata-build-and-push-ghcr.yml
index bd07b7006..2d9da5d1e 100644
--- a/.github/workflows/suricata-build-and-push-ghcr.yml
+++ b/.github/workflows/suricata-build-and-push-ghcr.yml
@@ -39,11 +39,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -66,6 +81,10 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/suricata.Dockerfile
+          build-args: |
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
           push: true
           tags: ghcr.io/${{ github.repository_owner }}/malcolm/suricata:${{ steps.extract_branch.outputs.branch }}
       -
diff --git a/.github/workflows/zeek-build-and-push-ghcr.yml b/.github/workflows/zeek-build-and-push-ghcr.yml
index 4cb14636c..27f6e05db 100644
--- a/.github/workflows/zeek-build-and-push-ghcr.yml
+++ b/.github/workflows/zeek-build-and-push-ghcr.yml
@@ -38,11 +38,26 @@ jobs:
       -
         name: Checkout
         uses: actions/checkout@v4
+      -
+        name: Generate build timestamp
+        shell: bash
+        run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
+        id: generate_build_timestamp
       -
         name: Extract branch name
         shell: bash
         run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
         id: extract_branch
+      -
+        name: Extract commit SHA
+        shell: bash
+        run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+        id: extract_commit_sha
+      -
+        name: Extract Malcolm version
+        shell: bash
+        run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT
+        id: extract_malcolm_version
       -
         name: Set up QEMU
         uses: docker/setup-qemu-action@v3
@@ -65,10 +80,13 @@ jobs:
         with:
           context: .
           file: ./Dockerfiles/zeek.Dockerfile
-          push: true
-          tags: ghcr.io/${{ github.repository_owner }}/malcolm/zeek:${{ steps.extract_branch.outputs.branch }}
           build-args: |
             BUILD_JOBS=2
+            MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }}
+            BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }}
+            VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }}
+          push: true
+          tags: ghcr.io/${{ github.repository_owner }}/malcolm/zeek:${{ steps.extract_branch.outputs.branch }}
       -
         name: Run Trivy vulnerability scanner
         id: trivy-scan
diff --git a/scripts/build.sh b/scripts/build.sh
index c5330f14b..526ab83c3 100755
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -77,7 +77,7 @@ read -p "Malcolm Docker images will now be built and/or pulled, force full clean
 CONFIRMATION=${CONFIRMATION:-N}
 
 BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')"
-MALCOLM_VERSION="$($GREP -P "^\s+image:\s*.*/malcolm/" "$CONFIG_FILE" | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)"
+MALCOLM_VERSION="$($GREP -P "^\s+image:.*/malcolm/" "$CONFIG_FILE" | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)"
 VCS_REVISION="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)"
 GITHUB_API_TOKEN="${GITHUB_TOKEN:-}"
 

From 775749750245decb99da1e222ed62e31e977120a Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 07:37:41 -0700
Subject: [PATCH 59/88] only specify --node and/or --host for live capture
 arkime if those variables are specified idaholab/Malcolm#321

---
 arkime/scripts/live_capture.sh | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/arkime/scripts/live_capture.sh b/arkime/scripts/live_capture.sh
index 04069f2cf..fb672a311 100755
--- a/arkime/scripts/live_capture.sh
+++ b/arkime/scripts/live_capture.sh
@@ -8,8 +8,6 @@ KEY_FILE="${ARKIME_DIR}"/etc/viewer.key
 ARKIME_PACKET_THREADS=${ARKIME_PACKET_THREADS:-1}
 PUSER=${PUSER:-"arkime"}
 PGROUP=${PGROUP:-"arkime"}
-NODE_NAME=${PCAP_NODE_NAME:-"malcolm"}
-NODE_HOST=${ARKIME_LIVE_NODE_HOST:-""}
 
 OPENSEARCH_PRIMARY=${OPENSEARCH_PRIMARY:-"opensearch-local"}
 OPENSEARCH_URL=${OPENSEARCH_URL:-"http://opensearch:9200"}
@@ -25,6 +23,12 @@ else
   CURL_CONFIG_PARAMS=()
 fi
 
+NODE_NAME=${PCAP_NODE_NAME:-""}
+NODE_HOST=${ARKIME_LIVE_NODE_HOST:-""}
+NODE_ARGS=()
+[[ -n "$NODE_NAME" ]] && NODE_ARGS+=( --node ) && NODE_ARGS+=( "$NODE_NAME" )
+[[ -n "$NODE_HOST" ]] && NODE_ARGS+=( --host ) && NODE_ARGS+=( "$NODE_HOST" )
+
 rm -f /var/run/arkime/initialized /var/run/arkime/runwise
 
 # make sure TLS certificates exist prior to starting up
@@ -61,12 +65,10 @@ touch /var/run/arkime/initialized
 echo "Arkime is initialized!"
 echo
 
-"${ARKIME_DIR}"/bin/capture --insecure \
+"${ARKIME_DIR}"/bin/capture --insecure "${NODE_ARGS[@]}" \
   -c "${ARKIME_DIR}"/etc/config.ini \
   -o pcapDir=/data/pcap/arkime-live \
   -o dropUser=${PUSER} \
   -o dropGroup=${PGROUP} \
   -o ecsEventProvider=arkime \
-  -o ecsEventDataset=session \
-  --node "${NODE_NAME}" \
-  --host "${NODE_HOST}"
+  -o ecsEventDataset=session

From 3546e67e7c5b9adcd9dbc6e2e5c573025615f0b2 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 08:32:16 -0700
Subject: [PATCH 60/88] update version API to include opensearch health under
 opensearch

---
 api/project/__init__.py | 15 ++++----
 docs/api-version.md     | 76 +++++++++++++++++++++--------------------
 2 files changed, 48 insertions(+), 43 deletions(-)

diff --git a/api/project/__init__.py b/api/project/__init__.py
index a4a03cf6f..f21f04e0f 100644
--- a/api/project/__init__.py
+++ b/api/project/__init__.py
@@ -818,17 +818,20 @@ def version():
     """
     global databaseClient
 
+    opensearchStats = requests.get(
+        opensearchUrl,
+        auth=opensearchReqHttpAuth,
+        verify=opensearchSslVerify,
+    ).json()
+    if isinstance(opensearchStats, dict):
+        opensearchStats['health'] = dict(databaseClient.cluster.health())
+
     return jsonify(
         version=app.config["MALCOLM_VERSION"],
         built=app.config["BUILD_DATE"],
         sha=app.config["VCS_REVISION"],
         mode=malcolm_utils.DatabaseModeEnumToStr(databaseMode),
-        opensearch=requests.get(
-            opensearchUrl,
-            auth=opensearchReqHttpAuth,
-            verify=opensearchSslVerify,
-        ).json(),
-        opensearch_health=dict(databaseClient.cluster.health()),
+        opensearch=opensearchStats,
     )
 
 
diff --git a/docs/api-version.md b/docs/api-version.md
index 94b3d23e7..50f4af4e5 100644
--- a/docs/api-version.md
+++ b/docs/api-version.md
@@ -8,43 +8,45 @@ Returns version information about Malcolm and version/[health](https://opensearc
 
 ```json
 {
-    "built": "2022-01-18T16:10:39Z",
-    "opensearch": {
-        "cluster_name": "docker-cluster",
-        "cluster_uuid": "TcSiEaOgTdO_l1IivYz2gA",
-        "name": "opensearch",
-        "tagline": "The OpenSearch Project: https://opensearch.org/",
-        "version": {
-            "build_date": "2021-12-21T01:36:21.407473Z",
-            "build_hash": "8a529d77c7432bc45b005ac1c4ba3b2741b57d4a",
-            "build_snapshot": false,
-            "build_type": "tar",
-            "lucene_version": "8.10.1",
-            "minimum_index_compatibility_version": "6.0.0-beta1",
-            "minimum_wire_compatibility_version": "6.8.0",
-            "number": "7.10.2"
-        }
+  "built": "2024-01-10T15:27:31Z",
+  "mode": "opensearch-remote",
+  "opensearch": {
+    "cluster_name": "opensearch-cluster",
+    "cluster_uuid": "4QK51McnS96aAvuj5qQKXA",
+    "health": {
+      "active_primary_shards": 5,
+      "active_shards": 10,
+      "active_shards_percent_as_number": 100,
+      "cluster_name": "opensearch-cluster",
+      "delayed_unassigned_shards": 0,
+      "discovered_cluster_manager": true,
+      "discovered_master": true,
+      "initializing_shards": 0,
+      "number_of_data_nodes": 2,
+      "number_of_in_flight_fetch": 0,
+      "number_of_nodes": 4,
+      "number_of_pending_tasks": 0,
+      "relocating_shards": 0,
+      "status": "green",
+      "task_max_waiting_in_queue_millis": 0,
+      "timed_out": false,
+      "unassigned_shards": 0
     },
-    "opensearch_health": {
-        "active_primary_shards": 29,
-        "active_shards": 29,
-        "active_shards_percent_as_number": 82.85714285714286,
-        "cluster_name": "docker-cluster",
-        "delayed_unassigned_shards": 0,
-        "discovered_master": true,
-        "initializing_shards": 0,
-        "number_of_data_nodes": 1,
-        "number_of_in_flight_fetch": 0,
-        "number_of_nodes": 1,
-        "number_of_pending_tasks": 0,
-        "relocating_shards": 0,
-        "status": "yellow",
-        "task_max_waiting_in_queue_millis": 0,
-        "timed_out": false,
-        "unassigned_shards": 6
-    },
-    "sha": "8ddbbf4",
-    "version": "5.2.0",
-    "mode": "opensearch-local"
+    "name": "opensearch-node1",
+    "tagline": "The OpenSearch Project: https://opensearch.org/",
+    "version": {
+      "build_date": "2023-10-13T02:55:55.511945994Z",
+      "build_hash": "4dcad6dd1fd45b6bd91f041a041829c8687278fa",
+      "build_snapshot": false,
+      "build_type": "tar",
+      "distribution": "opensearch",
+      "lucene_version": "9.7.0",
+      "minimum_index_compatibility_version": "7.0.0",
+      "minimum_wire_compatibility_version": "7.10.0",
+      "number": "2.11.0"
+    }
+  },
+  "sha": "77574975",
+  "version": "24.01.0"
 }
 ```

From 0228de1d00dd200ea5ada5a3b1694724579040fb Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 08:43:12 -0700
Subject: [PATCH 61/88] allow blank arkime node host for live capture as it
 will default to hostname (idaholab/Malcolm#321)

---
 scripts/install.py | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/scripts/install.py b/scripts/install.py
index 6bfe064d6..15abddae6 100755
--- a/scripts/install.py
+++ b/scripts/install.py
@@ -1395,20 +1395,6 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
                 f"Enter this node's hostname or IP to associate with network traffic metadata",
                 default=args.liveArkimeNodeHost,
             )
-            if (
-                (not liveArkimeNodeHost)
-                and (not args.acceptDefaultsNonInteractive)
-                and (
-                    not InstallerYesOrNo(
-                        f'With live Arkime capture node hostname or IP is required for viewer session retrieval. Are you sure?',
-                        default=False,
-                    )
-                )
-            ):
-                liveArkimeNodeHost = InstallerAskForString(
-                    f"Enter this node's hostname or IP to associate with network traffic metadata",
-                    default=args.liveArkimeNodeHost,
-                )
 
         if (
             (malcolmProfile == PROFILE_HEDGEHOG)

From 45f8e9639ce0d4efcb326eda17932a6bb440819b Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 09:23:35 -0700
Subject: [PATCH 62/88] allow blank arkime node name for uploaded capture as it
 will default to hostname (idaholab/Malcolm#321)

---
 shared/bin/pcap_processor.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/shared/bin/pcap_processor.py b/shared/bin/pcap_processor.py
index eef96db41..8b01d0a2c 100755
--- a/shared/bin/pcap_processor.py
+++ b/shared/bin/pcap_processor.py
@@ -170,7 +170,9 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs):
                         # if this is an uploaded PCAP (not captured "live"")
                         #   append -upload to the node name used (which originates from PCAP_NODE_NAME)
                         tmpNodeName = fileInfo[FILE_INFO_DICT_NODE] if (FILE_INFO_DICT_NODE in fileInfo) else nodeName
-                        if (not (FILE_INFO_DICT_LIVE in fileInfo)) or (not fileInfo[FILE_INFO_DICT_LIVE]):
+                        if tmpNodeName and (
+                            (not (FILE_INFO_DICT_LIVE in fileInfo)) or (not fileInfo[FILE_INFO_DICT_LIVE])
+                        ):
                             tmpNodeName = tmpNodeName + '-upload'
 
                         # put together arkime execution command
@@ -178,8 +180,6 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs):
                             arkimeBin,
                             '--quiet',
                             '--insecure',
-                            '--node',
-                            tmpNodeName,
                             '-o',
                             f'ecsEventProvider={arkimeProvider}',
                             '-o',
@@ -187,6 +187,9 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs):
                             '-r',
                             fileInfo[FILE_INFO_DICT_NAME],
                         ]
+                        if tmpNodeName:
+                            cmd.append('--node')
+                            cmd.append(tmpNodeName)
                         if nodeHost:
                             cmd.append('--host')
                             cmd.append(nodeHost)

From 47679fc43ed50067fee2171542b1befdceb3fcd3 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 09:23:47 -0700
Subject: [PATCH 63/88] rename 'capture source' to 'log source' in some
 dashboards

---
 .../dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json      | 4 ++--
 .../dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json      | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
index 95273016e..e3cd1481b 100644
--- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
+++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
@@ -258,8 +258,8 @@
       "updated_at": "2022-05-04T20:06:10.844Z",
       "version": "WzY2LDFd",
       "attributes": {
-        "title": "Capture Source",
-        "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "title": "Log Source",
+        "visState": "{\"title\":\"Log Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
         "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
index 29114ef82..4853d0102 100644
--- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
+++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
@@ -154,8 +154,8 @@
       "updated_at": "2023-01-19T16:44:51.171Z",
       "version": "WzUxMiwxXQ==",
       "attributes": {
-        "title": "Capture Source",
-        "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "title": "Log Source",
+        "visState": "{\"title\":\"Log Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
         "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}",
         "description": "",
         "version": 1,

From c184812d1b3712f683c12e0a2e94acf171c1cff6 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 09:30:24 -0700
Subject: [PATCH 64/88] documentation update

---
 .../screenshots/malcolm_landing_page.png       | Bin 0 -> 264734 bytes
 docs/quickstart.md                             |   7 +++++--
 docs/ubuntu-install-example.md                 |   4 +++-
 3 files changed, 8 insertions(+), 3 deletions(-)
 create mode 100644 docs/images/screenshots/malcolm_landing_page.png

diff --git a/docs/images/screenshots/malcolm_landing_page.png b/docs/images/screenshots/malcolm_landing_page.png
new file mode 100644
index 0000000000000000000000000000000000000000..ddd28892da25344889bea636250a8bca8edfdc91
GIT binary patch
literal 264734
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

literal 0
HcmV?d00001

diff --git a/docs/quickstart.md b/docs/quickstart.md
index acf540722..d4201513a 100644
--- a/docs/quickstart.md
+++ b/docs/quickstart.md
@@ -88,9 +88,12 @@ instance, wipe the database and restore Malcolm to a fresh state, etc.
 
 A few minutes after starting Malcolm (probably 5 or so for Logstash to be completely loaded, depending on the system), the following services will be accessible:
 
-* [Arkime](https://arkime.com/): **https://localhost**
+* Malcolm Landing Page: **https://localhost/**
+* [Arkime](https://arkime.com/): **https://localhost/arkime/**
 * [OpenSearch Dashboards](https://opensearch.org/docs/latest/dashboards/index/): **https://localhost/dashboards/**
 * [Network Traffic Artifact Upload (Web)](upload.md#Upload): **https://localhost/upload/**
 * [Network Traffic Artifact Upload (SFTP)](upload.md#Upload): `sftp://<username>@127.0.0.1:8022/files`
 * [NetBox](asset-interaction-analysis.md#AssetInteractionAnalysis): **https://localhost/netbox/**
-* [Account Management](authsetup.md#AuthBasicAccountManagement): **https://localhost/auth/**
\ No newline at end of file
+* [Account Management](authsetup.md#AuthBasicAccountManagement): **https://localhost/auth/**
+
+![Malcolm Landing Page](./images/malcolm_landing_page.png)
\ No newline at end of file
diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md
index 0fbea72a7..de5adecac 100644
--- a/docs/ubuntu-install-example.md
+++ b/docs/ubuntu-install-example.md
@@ -315,4 +315,6 @@ malcolm-logstash-1  | [2022-07-27T20:27:52,056][INFO ][logstash.agent
 …
 ```
 
-The [Malcolm user interfaces](quickstart.md#UserInterfaceURLs) may be accessed via a web browser.
\ No newline at end of file
+The [Malcolm user interfaces](quickstart.md#UserInterfaceURLs) may be accessed via a web browser.
+
+![Malcolm Landing Page](./images/malcolm_landing_page.png)
\ No newline at end of file

From 4133a746b22450f4b928ae69c7188117427f002c Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 09:33:33 -0700
Subject: [PATCH 65/88] documentation update

---
 docs/quickstart.md             | 2 +-
 docs/ubuntu-install-example.md | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/quickstart.md b/docs/quickstart.md
index d4201513a..e90cbe9cf 100644
--- a/docs/quickstart.md
+++ b/docs/quickstart.md
@@ -96,4 +96,4 @@ A few minutes after starting Malcolm (probably 5 or so for Logstash to be comple
 * [NetBox](asset-interaction-analysis.md#AssetInteractionAnalysis): **https://localhost/netbox/**
 * [Account Management](authsetup.md#AuthBasicAccountManagement): **https://localhost/auth/**
 
-![Malcolm Landing Page](./images/malcolm_landing_page.png)
\ No newline at end of file
+![Malcolm Landing Page](./images/screenshots/malcolm_landing_page.png)
\ No newline at end of file
diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md
index de5adecac..5478e91ec 100644
--- a/docs/ubuntu-install-example.md
+++ b/docs/ubuntu-install-example.md
@@ -317,4 +317,4 @@ malcolm-logstash-1  | [2022-07-27T20:27:52,056][INFO ][logstash.agent
 
 The [Malcolm user interfaces](quickstart.md#UserInterfaceURLs) may be accessed via a web browser.
 
-![Malcolm Landing Page](./images/malcolm_landing_page.png)
\ No newline at end of file
+![Malcolm Landing Page](./images/screenshots/malcolm_landing_page.png)
\ No newline at end of file

From b45132869a547ae306f6b0da23d86387ecbf21c9 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 11:38:59 -0700
Subject: [PATCH 66/88] fix to install.py not using the --opensearch command
 line argument as a default correctly; also remove unused argument

---
 scripts/install.py | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/scripts/install.py b/scripts/install.py
index 15abddae6..c662a4b49 100755
--- a/scripts/install.py
+++ b/scripts/install.py
@@ -612,7 +612,7 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
                 databaseModeChoice = InstallerChooseOne(
                     'Select primary Malcolm document store',
                     choices=[
-                        (x, allowedDatabaseModes[x][1], x == DATABASE_MODE_LABELS[DatabaseMode.OpenSearchLocal])
+                        (x, allowedDatabaseModes[x][1], x == args.opensearchPrimaryMode)
                         for x in list(allowedDatabaseModes.keys())
                     ],
                 )
@@ -3489,16 +3489,6 @@ def main():
         default=False,
         help="Expose Filebeat TCP port to external hosts",
     )
-    openPortsArgGroup.add_argument(
-        '--arkime-viewer-expose',
-        dest='exposeArkimeViewer',
-        type=str2bool,
-        metavar="true|false",
-        nargs='?',
-        const=True,
-        default=False,
-        help="Expose Arkime viewer to external hosts for PCAP payload retrieval",
-    )
     openPortsArgGroup.add_argument(
         '--sftp-expose',
         dest='exposeSFTP',

From 92480a36f6e5dbcfaeded41bdfe3b5e826e64b49 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 13:44:20 -0700
Subject: [PATCH 67/88] allow overriding destination index for Zeek and
 Suricata logs, work in progress, idaholab/Malcolm#313

---
 Dockerfiles/api.Dockerfile                    | 16 ------
 Dockerfiles/arkime.Dockerfile                 |  4 --
 Dockerfiles/dashboards-helper.Dockerfile      | 12 -----
 Dockerfiles/dashboards.Dockerfile             | 15 +-----
 Dockerfiles/filebeat.Dockerfile               |  4 --
 Dockerfiles/opensearch.Dockerfile             |  6 ---
 Dockerfiles/pcap-monitor.Dockerfile           |  4 --
 api/project/__init__.py                       | 51 ++++++++++++-------
 api/project/config.py                         | 11 ++--
 config/dashboards-helper.env.example          |  3 +-
 config/opensearch.env.example                 |  9 ++++
 .../malcolm_api_loopback_monitor.json         |  4 +-
 .../anomaly_detectors/action_result_user.json |  4 +-
 .../anomaly_detectors/file_mime_type.json     |  4 +-
 .../anomaly_detectors/malcolm_init_dummy.json |  4 +-
 .../anomaly_detectors/network_protocol.json   |  4 +-
 dashboards/anomaly_detectors/total_bytes.json |  4 +-
 .../024062a6-48d6-498f-a91a-3bf2da3a3cd3.json |  6 +--
 .../03207c00-d07e-11ec-b4a7-d1b4003706b7.json |  2 +-
 .../05e3e000-f118-11e9-acda-83a8e29e1a24.json |  6 +--
 .../078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json |  2 +-
 .../0a490422-0ce9-44bf-9a2d-19329ddde8c3.json |  4 +-
 .../0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 14 ++---
 .../0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json |  8 +--
 .../0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json |  2 +-
 .../11be6381-beef-40a7-bdce-88c5398392fc.json |  2 +-
 .../11ddd980-e388-11e9-b568-cf17de8e860c.json |  2 +-
 .../12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json |  2 +-
 .../152f29dc-51a2-4f53-93e9-6e92765567b8.json | 20 ++++----
 .../1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json |  2 +-
 .../1ce42250-3f99-11e9-a58e-8bdedb0915e8.json |  8 +--
 .../1fff49f6-0199-4a0f-820b-721aff9ff1f1.json |  2 +-
 .../29a1b290-eb98-11e9-a384-0fcf32210194.json | 16 +++---
 .../2bec1490-eb94-11e9-a384-0fcf32210194.json | 18 +++----
 .../2cc56240-e460-11ed-a9d5-9f591c284cb4.json |  4 +-
 .../2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json |  2 +-
 .../2d98bb8e-214c-4374-837b-20e1bcd63a5e.json |  2 +-
 .../32587740-ef88-11e9-b38a-2db3ee640e88.json |  2 +-
 .../36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json |  2 +-
 .../37041ee1-79c0-4684-a436-3173b0e89876.json |  6 +--
 .../39abfe30-3f99-11e9-a58e-8bdedb0915e8.json |  8 +--
 .../42e831b9-41a9-4f35-8b7d-e1566d368773.json |  4 +-
 .../432af556-c5c0-4cc3-8166-b274b4e3a406.json |  2 +-
 .../4a073440-b286-11eb-a4d4-09fa12a6ebd4.json |  4 +-
 .../4a4bde20-4760-11ea-949c-bbb5a9feecbf.json |  8 +--
 .../4e5f106e-c60a-4226-8f64-d534abb912ab.json |  4 +-
 .../50ced171-1b10-4c3f-8b67-2db9635661a6.json |  2 +-
 .../543118a9-02d7-43fe-b669-b8652177fc37.json |  2 +-
 .../55e332d0-3f99-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json |  2 +-
 .../60d78fbd-471c-4f59-a9e3-189b33a13644.json |  8 +--
 .../665d1610-523d-11e9-a30e-e3576242f3ed.json |  4 +-
 .../677ee170-809e-11ed-8d5b-07069f823b6f.json |  8 +--
 .../76f2f912-80da-44cd-ab66-6a73c8344cc3.json |  2 +-
 .../77fc9960-3f99-11e9-a58e-8bdedb0915e8.json |  8 +--
 .../7f41913f-cba8-43f5-82a8-241b7ead03e0.json |  2 +-
 .../7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json |  4 +-
 .../82da3101-2a9c-4ae2-bb61-d447a3fbe673.json |  2 +-
 .../870a5862-6c26-4a08-99fd-0c06cda85ba3.json | 10 ++--
 .../87a32f90-ef58-11e9-974e-9d600036d105.json |  8 +--
 .../87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json |  2 +-
 .../89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 12 ++---
 .../92985909-dc29-4533-9e80-d3182a0ecf1d.json |  2 +-
 .../95479950-41f2-11ea-88fa-7151df485405.json | 18 +++----
 .../9ee51f94-3316-4fc5-bd89-93a52af69714.json |  6 +--
 dashboards/dashboards/Vega.Sankey.txt         |  4 +-
 .../a16110b0-3f99-11e9-a58e-8bdedb0915e8.json |  8 +--
 .../a33e0a50-afcd-11ea-993f-b7d8522a8bed.json | 14 ++---
 .../a7514350-eba6-11e9-a384-0fcf32210194.json | 14 ++---
 .../abdd7550-2c7c-40dc-947e-f6d186a158c4.json |  2 +-
 .../ae79b7d1-4281-4095-b2f6-fa7eafda9970.json |  2 +-
 .../af5df620-eeb6-11e9-bdef-65a192b7f586.json |  2 +-
 .../b50c8d17-6ed3-4de6-aed4-5181032810b2.json |  8 +--
 .../b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json |  8 +--
 .../bb827f8e-639e-468c-93c8-9f5bc132eb8f.json |  2 +-
 .../0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json |  6 +--
 .../7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json |  4 +-
 .../903f42c0-f634-11ec-828d-2fb7a4a26e1f.json |  4 +-
 .../dashboards/beats/Filebeat-nginx-logs.json |  6 +--
 .../beats/Filebeat-nginx-overview.json        | 14 ++---
 .../beats/Metricbeat-host-overview.json       | 30 +++++------
 .../beats/Metricbeat-system-overview.json     | 18 +++----
 .../f6600310-9943-11ee-a029-e973f4774355.json |  2 +-
 .../bed185a0-ef82-11e9-b38a-2db3ee640e88.json |  4 +-
 .../bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json |  2 +-
 .../c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json |  2 +-
 .../ca5799a0-56b5-11eb-b749-576de068f8ad.json |  6 +--
 .../caef3ade-d289-4d05-a511-149f3e97f238.json |  2 +-
 .../d2dd0180-06b1-11ec-8c6b-353266ade330.json | 12 ++---
 .../d41fe630-3f98-11e9-a58e-8bdedb0915e8.json |  8 +--
 .../d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json |  8 +--
 .../dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json | 12 ++---
 .../e09a4b86-29b5-4256-bb3b-802ac9f90404.json |  8 +--
 .../e76d05c0-eb9f-11e9-a384-0fcf32210194.json |  8 +--
 .../ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../f1f09567-fc7f-450b-a341-19d2f2bb468b.json |  2 +-
 .../f394057d-1b16-4174-b994-7045f423a416.json |  8 +--
 .../f77bf097-18a8-465c-b634-eb2acc7a4f26.json |  2 +-
 .../fa141950-ef89-11e9-b38a-2db3ee640e88.json |  2 +-
 .../fa477130-2b8a-11ec-a9f2-3911c8571bfd.json |  6 +--
 .../scripts/create-arkime-sessions-index.sh   | 15 +++---
 dashboards/scripts/index-refresh.py           |  2 +-
 dashboards/templates/malcolm_template.json    |  2 +-
 .../pipelines/enrichment/98_finalize.conf     |  9 +++-
 nginx/nginx.conf                              |  1 +
 nginx/nginx_readonly.conf                     |  1 +
 shared/bin/opensearch_index_size_prune.py     |  1 +
 shared/bin/opensearch_status.sh               | 18 +++++--
 108 files changed, 349 insertions(+), 369 deletions(-)

diff --git a/Dockerfiles/api.Dockerfile b/Dockerfiles/api.Dockerfile
index dc80e696a..b7fbfdfd6 100644
--- a/Dockerfiles/api.Dockerfile
+++ b/Dockerfiles/api.Dockerfile
@@ -44,14 +44,6 @@ ENV PYTHONDONTWRITEBYTECODE 1
 ENV PYTHONUNBUFFERED 1
 
 ARG FLASK_ENV=production
-ARG ARKIME_FIELDS_INDEX="arkime_fields"
-ARG ARKIME_INDEX_PATTERN="arkime_sessions3-*"
-ARG ARKIME_INDEX_TIME_FIELD="firstPacket"
-ARG BEATS_INDEX_PATTERN="malcolm_beats_*"
-ARG BEATS_INDEX_TIME_FIELD="@timestamp"
-ARG DASHBOARDS_URL="http://dashboards:5601/dashboards"
-ARG OPENSEARCH_URL="http://opensearch:9200"
-ARG OPENSEARCH_PRIMARY="opensearch-local"
 ARG RESULT_SET_LIMIT="500"
 
 ENV HOME=/malcolm
@@ -59,14 +51,6 @@ ENV APP_HOME="${HOME}"/api
 ENV APP_FOLDER="${APP_HOME}"
 ENV FLASK_APP=project/__init__.py
 ENV FLASK_ENV $FLASK_ENV
-ENV ARKIME_FIELDS_INDEX $ARKIME_FIELDS_INDEX
-ENV ARKIME_INDEX_PATTERN $ARKIME_INDEX_PATTERN
-ENV ARKIME_INDEX_TIME_FIELD $ARKIME_INDEX_TIME_FIELD
-ENV BEATS_INDEX_PATTERN $BEATS_INDEX_PATTERN
-ENV BEATS_INDEX_TIME_FIELD $BEATS_INDEX_TIME_FIELD
-ENV DASHBOARDS_URL $DASHBOARDS_URL
-ENV OPENSEARCH_URL $OPENSEARCH_URL
-ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY
 ENV RESULT_SET_LIMIT $RESULT_SET_LIMIT
 
 WORKDIR "${APP_HOME}"
diff --git a/Dockerfiles/arkime.Dockerfile b/Dockerfiles/arkime.Dockerfile
index 1ae22ebba..3c99bdd5d 100644
--- a/Dockerfiles/arkime.Dockerfile
+++ b/Dockerfiles/arkime.Dockerfile
@@ -106,8 +106,6 @@ ENV TERM xterm
 ENV PYTHONDONTWRITEBYTECODE 1
 ENV PYTHONUNBUFFERED 1
 
-ARG OPENSEARCH_URL="http://opensearch:9200"
-ARG OPENSEARCH_PRIMARY="opensearch-local"
 ARG MALCOLM_USERNAME=admin
 ARG ARKIME_ECS_PROVIDER=arkime
 ARG ARKIME_ECS_DATASET=session
@@ -135,8 +133,6 @@ ARG PCAP_NODE_NAME=malcolm
 ARG MAXMIND_GEOIP_DB_LICENSE_KEY=""
 
 # Declare envs vars for each arg
-ENV OPENSEARCH_URL $OPENSEARCH_URL
-ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY
 ENV ARKIME_INTERFACE $ARKIME_INTERFACE
 ENV MALCOLM_USERNAME $MALCOLM_USERNAME
 # this needs to be present, but is unused as nginx is going to handle auth for us
diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile
index e8e009089..b7e17c98b 100644
--- a/Dockerfiles/dashboards-helper.Dockerfile
+++ b/Dockerfiles/dashboards-helper.Dockerfile
@@ -20,30 +20,18 @@ ENV PUSER_PRIV_DROP true
 
 ENV TERM xterm
 
-ARG ARKIME_INDEX_PATTERN="arkime_sessions3-*"
-ARG ARKIME_INDEX_PATTERN_ID="arkime_sessions3-*"
-ARG ARKIME_INDEX_TIME_FIELD="firstPacket"
 ARG CREATE_OS_ARKIME_SESSION_INDEX="true"
-ARG OPENSEARCH_URL="http://opensearch:9200"
-ARG OPENSEARCH_PRIMARY="opensearch-local"
 ARG ISM_SNAPSHOT_COMPRESSED=false
 ARG ISM_SNAPSHOT_REPO=logs
 ARG OFFLINE_REGION_MAPS_PORT="28991"
 ARG OPENSEARCH_DEFAULT_DASHBOARD="0ad3d7c2-3441-485e-9dfe-dbb22e84e576"
-ARG DASHBOARDS_URL="http://dashboards:5601/dashboards"
 ARG DASHBOARDS_DARKMODE="true"
 
-ENV ARKIME_INDEX_PATTERN $ARKIME_INDEX_PATTERN
-ENV ARKIME_INDEX_PATTERN_ID $ARKIME_INDEX_PATTERN_ID
-ENV ARKIME_INDEX_TIME_FIELD $ARKIME_INDEX_TIME_FIELD
 ENV CREATE_OS_ARKIME_SESSION_INDEX $CREATE_OS_ARKIME_SESSION_INDEX
-ENV OPENSEARCH_URL $OPENSEARCH_URL
-ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY
 ENV ISM_SNAPSHOT_COMPRESSED $ISM_SNAPSHOT_COMPRESSED
 ENV ISM_SNAPSHOT_REPO $ISM_SNAPSHOT_REPO
 ENV OFFLINE_REGION_MAPS_PORT $OFFLINE_REGION_MAPS_PORT
 ENV OPENSEARCH_DEFAULT_DASHBOARD $OPENSEARCH_DEFAULT_DASHBOARD
-ENV DASHBOARDS_URL $DASHBOARDS_URL
 ENV DASHBOARDS_DARKMODE $DASHBOARDS_DARKMODE
 ENV PATH="/data:${PATH}"
 
diff --git a/Dockerfiles/dashboards.Dockerfile b/Dockerfiles/dashboards.Dockerfile
index 37991229f..b4e6e828d 100644
--- a/Dockerfiles/dashboards.Dockerfile
+++ b/Dockerfiles/dashboards.Dockerfile
@@ -22,23 +22,10 @@ ENV TERM xterm
 ENV TINI_VERSION v0.19.0
 ENV OSD_TRANSFORM_VIS_VERSION 2.11.0
 
-ARG OPENSEARCH_URL="http://opensearch:9200"
-ARG OPENSEARCH_PRIMARY="opensearch-local"
-ARG CREATE_OS_ARKIME_SESSION_INDEX="true"
-ARG ARKIME_INDEX_PATTERN="arkime_sessions3-*"
-ARG ARKIME_INDEX_PATTERN_ID="arkime_sessions3-*"
-ARG ARKIME_INDEX_TIME_FIELD="firstPacket"
 ARG NODE_OPTIONS="--max_old_space_size=4096"
+ENV NODE_OPTIONS $NODE_OPTIONS
 
-ENV CREATE_OS_ARKIME_SESSION_INDEX $CREATE_OS_ARKIME_SESSION_INDEX
-ENV ARKIME_INDEX_PATTERN $ARKIME_INDEX_PATTERN
-ENV ARKIME_INDEX_PATTERN_ID $ARKIME_INDEX_PATTERN_ID
-ENV ARKIME_INDEX_TIME_FIELD $ARKIME_INDEX_TIME_FIELD
-ENV OPENSEARCH_DEFAULT_DASHBOARD $OPENSEARCH_DEFAULT_DASHBOARD
 ENV PATH="/data:${PATH}"
-ENV OPENSEARCH_URL $OPENSEARCH_URL
-ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY
-ENV NODE_OPTIONS $NODE_OPTIONS
 
 USER root
 
diff --git a/Dockerfiles/filebeat.Dockerfile b/Dockerfiles/filebeat.Dockerfile
index 659236bfc..84a56baa2 100644
--- a/Dockerfiles/filebeat.Dockerfile
+++ b/Dockerfiles/filebeat.Dockerfile
@@ -44,8 +44,6 @@ ARG FILEBEAT_WATCHER_POLLING_ASSUME_CLOSED_SEC=10
 ARG LOG_CLEANUP_MINUTES=0
 ARG ZIP_CLEANUP_MINUTES=0
 ARG NGINX_LOG_ACCESS_AND_ERRORS=false
-ARG OPENSEARCH_URL="http://opensearch:9200"
-ARG OPENSEARCH_PRIMARY="opensearch-local"
 ARG FILEBEAT_TCP_LISTEN=false
 ARG FILEBEAT_TCP_PORT=5045
 ARG FILEBEAT_TCP_LOG_FORMAT="raw"
@@ -146,8 +144,6 @@ ENV FILEBEAT_ZEEK_LOG_LIVE_PATH $FILEBEAT_ZEEK_LOG_LIVE_PATH
 ENV FILEBEAT_SURICATA_LOG_PATH $FILEBEAT_SURICATA_LOG_PATH
 ENV FILEBEAT_NGINX_LOG_PATH $FILEBEAT_NGINX_LOG_PATH
 ENV NGINX_LOG_ACCESS_AND_ERRORS $NGINX_LOG_ACCESS_AND_ERRORS
-ENV OPENSEARCH_URL $OPENSEARCH_URL
-ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY
 ENV FILEBEAT_TCP_LISTEN $FILEBEAT_TCP_LISTEN
 ENV FILEBEAT_TCP_PORT $FILEBEAT_TCP_PORT
 ENV FILEBEAT_TCP_LOG_FORMAT $FILEBEAT_TCP_LOG_FORMAT
diff --git a/Dockerfiles/opensearch.Dockerfile b/Dockerfiles/opensearch.Dockerfile
index 82fbddd10..cb9aa6a66 100644
--- a/Dockerfiles/opensearch.Dockerfile
+++ b/Dockerfiles/opensearch.Dockerfile
@@ -24,12 +24,6 @@ ENV TERM xterm
 
 ENV TINI_VERSION v0.19.0
 
-ARG OPENSEARCH_PRIMARY="opensearch-local"
-ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY
-
-ARG MALCOLM_API_URL="http://api:5000/mapi/event"
-ENV MALCOLM_API_URL $MALCOLM_API_URL
-
 ARG DISABLE_INSTALL_DEMO_CONFIG=true
 ARG DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI=true
 ENV DISABLE_INSTALL_DEMO_CONFIG $DISABLE_INSTALL_DEMO_CONFIG
diff --git a/Dockerfiles/pcap-monitor.Dockerfile b/Dockerfiles/pcap-monitor.Dockerfile
index 84a9a0b0f..6ec3c649b 100644
--- a/Dockerfiles/pcap-monitor.Dockerfile
+++ b/Dockerfiles/pcap-monitor.Dockerfile
@@ -26,8 +26,6 @@ ENV TERM xterm
 ENV PYTHONDONTWRITEBYTECODE 1
 ENV PYTHONUNBUFFERED 1
 
-ARG OPENSEARCH_URL="http://opensearch:9200"
-ARG OPENSEARCH_PRIMARY="opensearch-local"
 ARG PCAP_PATH=/pcap
 ARG PCAP_PIPELINE_VERBOSITY=""
 ARG PCAP_PIPELINE_IGNORE_PREEXISTING=false
@@ -36,8 +34,6 @@ ARG PCAP_PIPELINE_POLLING_ASSUME_CLOSED_SEC=10
 ARG PCAP_NODE_NAME=malcolm
 ARG ZEEK_PATH=/zeek
 
-ENV OPENSEARCH_URL $OPENSEARCH_URL
-ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY
 ENV PCAP_PATH $PCAP_PATH
 ENV PCAP_PIPELINE_VERBOSITY $PCAP_PIPELINE_VERBOSITY
 ENV PCAP_PIPELINE_IGNORE_PREEXISTING $PCAP_PIPELINE_IGNORE_PREEXISTING
diff --git a/api/project/__init__.py b/api/project/__init__.py
index f21f04e0f..9e5106b34 100644
--- a/api/project/__init__.py
+++ b/api/project/__init__.py
@@ -381,16 +381,24 @@ def index_from_args(args):
     ----------
     args : dict
         The dictionary which should contain 'doctype' value. Missing
-        key returns value of app.config["ARKIME_INDEX_PATTERN"]
+        key returns value of app.config["MALCOLM_NETWORK_INDEX_PATTERN"]
 
     Returns
     -------
     return index
-        app.config["ARKIME_INDEX_PATTERN"] or app.config["BEATS_INDEX_PATTERN"]
+        app.config["MALCOLM_OTHER_INDEX_PATTERN"],
+        app.config["ARKIME_NETWORK_INDEX_PATTERN"],
+        app.config["MALCOLM_NETWORK_INDEX_PATTERN"],
     """
-    return (
-        app.config["BEATS_INDEX_PATTERN"] if doctype_from_args(args) == 'host' else app.config["ARKIME_INDEX_PATTERN"]
-    )
+    index = None
+    if dtype := str(doctype_from_args(args)).lower():
+        if dtype.startswith('host') or dtype.startswith('beat') or dtype.startswith('miscbeat'):
+            index = app.config["MALCOLM_OTHER_INDEX_PATTERN"]
+        elif dtype.startswith('arkime') or dtype.startswith('session'):
+            index = app.config["ARKIME_NETWORK_INDEX_PATTERN"]
+        else:
+            index = app.config["MALCOLM_NETWORK_INDEX_PATTERN"]
+    return index
 
 
 def timefield_from_args(args):
@@ -401,18 +409,24 @@ def timefield_from_args(args):
     ----------
     args : dict
         The dictionary which should contain 'doctype' value. Missing
-        key returns value of app.config["ARKIME_INDEX_TIME_FIELD"]
+        key returns value of app.config["MALCOLM_NETWORK_INDEX_PATTERN"]
 
     Returns
     -------
-    return index
-        app.config["ARKIME_INDEX_TIME_FIELD"] or app.config["BEATS_INDEX_TIME_FIELD"]
+    timefield index
+        app.config["MALCOLM_OTHER_INDEX_TIME_FIELD"],
+        app.config["ARKIME_NETWORK_INDEX_TIME_FIELD"],
+        app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"],
     """
-    return (
-        app.config["BEATS_INDEX_TIME_FIELD"]
-        if doctype_from_args(args) == 'host'
-        else app.config["ARKIME_INDEX_TIME_FIELD"]
-    )
+    timefield = None
+    if dtype := str(doctype_from_args(args)).lower():
+        if dtype.startswith('host') or dtype.startswith('beat') or dtype.startswith('miscbeat'):
+            timefield = app.config["MALCOLM_OTHER_INDEX_TIME_FIELD"]
+        elif dtype.startswith('arkime') or dtype.startswith('session'):
+            timefield = app.config["ARKIME_NETWORK_INDEX_TIME_FIELD"]
+        else:
+            timefield = app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"]
+    return timefield
 
 
 def filtertime(search, args, default_from="1 day ago", default_to="now"):
@@ -860,8 +874,7 @@ def ping():
 )
 def event():
     """Webhook that accepts alert data (like that from the OpenSearch Alerting API) to be
-    reindexed into OpenSearch as session records (e.g., arkime_sessions3-*) for viewing
-    in Malcolm's default visualizations.
+    reindexed into OpenSearch as session records for viewing in Malcolm's default visualizations.
 
     See Malcolm's malcolm_api_loopback_monitor.json and malcolm_api_loopback_destination.json
     for formatting template examples.
@@ -921,7 +934,7 @@ def event():
     data = get_request_arguments(request)
     nowTimeStr = datetime.now().astimezone(pytz.utc).isoformat().replace('+00:00', 'Z')
     if 'alert' in data:
-        alert['@timestamp'] = deep_get(
+        alert[app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"]] = deep_get(
             data,
             [
                 'alert',
@@ -930,7 +943,7 @@ def event():
             ],
             nowTimeStr,
         )
-        alert['firstPacket'] = alert['@timestamp']
+        alert['firstPacket'] = alert[app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"]]
         alert['lastPacket'] = deep_get(
             data,
             [
@@ -1012,9 +1025,9 @@ def event():
                 if hitCount := deep_get(alertResults[0], ['hits', 'total', 'value'], 0):
                     alert['event']['hits'] = hitCount
 
-        docDateStr = dateparser.parse(alert['@timestamp']).strftime('%y%m%d')
+        docDateStr = dateparser.parse(alert[app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"]]).strftime('%y%m%d')
         idxResponse = databaseClient.index(
-            index=f"{app.config['ARKIME_INDEX_PATTERN'].rstrip('*')}{docDateStr}",
+            index=f"{app.config['MALCOLM_NETWORK_INDEX_PATTERN'].rstrip('*')}{docDateStr}",
             id=f"{docDateStr}-{alert['event']['id']}",
             body=alert,
         )
diff --git a/api/project/config.py b/api/project/config.py
index 71e33a3bc..b98ef3481 100644
--- a/api/project/config.py
+++ b/api/project/config.py
@@ -6,10 +6,13 @@
 
 class Config(object):
     ARKIME_FIELDS_INDEX = f"{os.getenv('ARKIME_FIELDS_INDEX', 'arkime_fields')}"
-    ARKIME_INDEX_PATTERN = f"{os.getenv('ARKIME_INDEX_PATTERN', 'arkime_sessions3-*')}"
-    ARKIME_INDEX_TIME_FIELD = f"{os.getenv('ARKIME_INDEX_TIME_FIELD', 'firstPacket')}"
-    BEATS_INDEX_PATTERN = f"{os.getenv('BEATS_INDEX_PATTERN', 'malcolm_beats_*')}"
-    BEATS_INDEX_TIME_FIELD = f"{os.getenv('BEATS_INDEX_TIME_FIELD', '@timestamp')}"
+    MALCOLM_NETWORK_INDEX_PATTERN = f"{os.getenv('MALCOLM_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*')}"
+    MALCOLM_NETWORK_INDEX_TIME_FIELD = f"{os.getenv('MALCOLM_NETWORK_INDEX_TIME_FIELD', 'firstPacket')}"
+    MALCOLM_OTHER_INDEX_PATTERN = f"{os.getenv('MALCOLM_OTHER_INDEX_PATTERN', 'malcolm_beats_*')}"
+    MALCOLM_OTHER_INDEX_TIME_FIELD = f"{os.getenv('MALCOLM_OTHER_INDEX_TIME_FIELD', '@timestamp')}"
+    ARKIME_NETWORK_INDEX_PATTERN = f"{os.getenv('ARKIME_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*')}"
+    ARKIME_NETWORK_INDEX_TIME_FIELD = f"{os.getenv('ARKIME_NETWORK_INDEX_TIME_FIELD', 'firstPacket')}"
+
     DOCTYPE_DEFAULT = f"{os.getenv('DOCTYPE_DEFAULT', 'network')}"
     BUILD_DATE = f"{os.getenv('BUILD_DATE', 'unknown')}"
     DASHBOARDS_URL = f"{os.getenv('DASHBOARDS_URL', 'http://dashboards:5601/dashboards')}"
diff --git a/config/dashboards-helper.env.example b/config/dashboards-helper.env.example
index 75873108e..268e653e1 100644
--- a/config/dashboards-helper.env.example
+++ b/config/dashboards-helper.env.example
@@ -1,8 +1,7 @@
 # Whether or not to set OpenSearch Dashboards to dark mode
 DASHBOARDS_DARKMODE=true
 # The maximum cumulative size of OpenSearch indices containing network traffic metadata
-#   (arkime_sessions3-*) before which the oldest indices will be deleted ('' to disable
-#   storage-based index pruning).
+#   before which the oldest indices will be deleted ('' to disable storage-based index pruning).
 OPENSEARCH_INDEX_SIZE_PRUNE_LIMIT=0
 # Whether to determine the "oldest" indices for storage-based index pruning by creation
 #   date/time ('true') or index name ('false')
diff --git a/config/opensearch.env.example b/config/opensearch.env.example
index 1eedf9809..fbdf87a17 100644
--- a/config/opensearch.env.example
+++ b/config/opensearch.env.example
@@ -41,6 +41,15 @@ OPENSEARCH_SECONDARY_SSL_CERTIFICATE_VERIFICATION=false
 # OpenSearch memory allowance and other Java options
 OPENSEARCH_JAVA_OPTS=-server -Xms10g -Xmx10g -Xss256k -XX:-HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Dlog4j.formatMsgNoLookups=true
 
+# OpenSearch index patterns and timestamp fields
+MALCOLM_NETWORK_INDEX_PATTERN=arkime_sessions3-*
+MALCOLM_NETWORK_INDEX_TIME_FIELD=firstPacket
+MALCOLM_OTHER_INDEX_PATTERN=malcolm_beats_*
+MALCOLM_OTHER_INDEX_TIME_FIELD=@timestamp
+ARKIME_NETWORK_INDEX_PATTERN=arkime_sessions3-*
+ARKIME_NETWORK_INDEX_TIME_FIELD=firstPacket
+
+# Miscellaneous
 logger.level=WARN
 bootstrap.memory_lock=true
 MAX_LOCKED_MEMORY=unlimited
diff --git a/dashboards/alerting/monitors/malcolm_api_loopback_monitor.json b/dashboards/alerting/monitors/malcolm_api_loopback_monitor.json
index 0472c806b..fcff1a770 100644
--- a/dashboards/alerting/monitors/malcolm_api_loopback_monitor.json
+++ b/dashboards/alerting/monitors/malcolm_api_loopback_monitor.json
@@ -13,7 +13,7 @@
     {
       "search": {
         "indices": [
-          "arkime_sessions3-*"
+          "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         ],
         "query": {
           "size": 0,
@@ -22,7 +22,7 @@
               "filter": [
                 {
                   "range": {
-                    "firstPacket": {
+                    "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER": {
                       "from": "{{period_end}}||-10m",
                       "to": "{{period_end}}",
                       "include_lower": true,
diff --git a/dashboards/anomaly_detectors/action_result_user.json b/dashboards/anomaly_detectors/action_result_user.json
index 367be6190..86bf8457b 100644
--- a/dashboards/anomaly_detectors/action_result_user.json
+++ b/dashboards/anomaly_detectors/action_result_user.json
@@ -1,9 +1,9 @@
 {
   "name": "action_result_user",
   "description": "Detect anomalies in action (event.action), result (event.result) and user (related.user) within application protocols (network.protocol)",
-  "time_field": "firstPacket",
+  "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
   "indices": [
-    "arkime_sessions3-*"
+    "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
   ],
   "category_field": [
     "network.protocol"
diff --git a/dashboards/anomaly_detectors/file_mime_type.json b/dashboards/anomaly_detectors/file_mime_type.json
index 7473479a6..9f3e45afe 100644
--- a/dashboards/anomaly_detectors/file_mime_type.json
+++ b/dashboards/anomaly_detectors/file_mime_type.json
@@ -1,9 +1,9 @@
 {
   "name": "file_mime_type",
   "description": "Detect anomalies based on transferred file type (file.mime_type)",
-  "time_field": "firstPacket",
+  "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
   "indices": [
-    "arkime_sessions3-*"
+    "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
   ],
   "feature_attributes": [
     {
diff --git a/dashboards/anomaly_detectors/malcolm_init_dummy.json b/dashboards/anomaly_detectors/malcolm_init_dummy.json
index 5ee2a4095..ca7644921 100644
--- a/dashboards/anomaly_detectors/malcolm_init_dummy.json
+++ b/dashboards/anomaly_detectors/malcolm_init_dummy.json
@@ -1,9 +1,9 @@
 {
   "name": "malcolm_init_dummy",
   "description": "A dummy detector to force opensearch anomaly detection index creation",
-  "time_field": "firstPacket",
+  "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
   "indices": [
-    "arkime_sessions3-*"
+    "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
   ],
   "feature_attributes": [
     {
diff --git a/dashboards/anomaly_detectors/network_protocol.json b/dashboards/anomaly_detectors/network_protocol.json
index 241264b1e..770223aa9 100644
--- a/dashboards/anomaly_detectors/network_protocol.json
+++ b/dashboards/anomaly_detectors/network_protocol.json
@@ -1,9 +1,9 @@
 {
   "name": "network_protocol",
   "description": "Detect anomalies based on application protocol (network.protocol)",
-  "time_field": "firstPacket",
+  "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
   "indices": [
-    "arkime_sessions3-*"
+    "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
   ],
   "feature_attributes": [
     {
diff --git a/dashboards/anomaly_detectors/total_bytes.json b/dashboards/anomaly_detectors/total_bytes.json
index c932c50de..c66a125bb 100644
--- a/dashboards/anomaly_detectors/total_bytes.json
+++ b/dashboards/anomaly_detectors/total_bytes.json
@@ -1,9 +1,9 @@
 {
   "name": "total_bytes",
   "description": "Detect anomalies based on traffic size (sum of network.bytes)",
-  "time_field": "firstPacket",
+  "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
   "indices": [
-    "arkime_sessions3-*"
+    "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
   ],
   "feature_attributes": [
     {
diff --git a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
index 850c55c2b..5b9c4e526 100644
--- a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
+++ b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
@@ -520,7 +520,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -558,7 +558,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -600,7 +600,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
index 11c63eb2b..2f1225139 100644
--- a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
+++ b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
@@ -373,7 +373,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
index 9a380588e..9ce459d27 100644
--- a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
+++ b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
@@ -174,7 +174,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -425,7 +425,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -470,7 +470,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
index c13df5038..377c3df1b 100644
--- a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
+++ b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
@@ -374,7 +374,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
index 82734a3a9..07441f472 100644
--- a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
+++ b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
@@ -341,7 +341,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -381,7 +381,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
index e3cd1481b..cca70c8fd 100644
--- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
+++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
@@ -212,7 +212,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -271,7 +271,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -300,7 +300,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -329,7 +329,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -374,7 +374,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -418,7 +418,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -459,7 +459,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
index 1c0dd53cd..a07074421 100644
--- a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
+++ b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
index 76c75d379..64df21f9f 100644
--- a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
+++ b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
@@ -516,7 +516,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
index 2edf0077c..788c9e082 100644
--- a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
+++ b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
@@ -341,7 +341,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
index 286026632..df9c1574d 100644
--- a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
+++ b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
@@ -165,7 +165,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
index 6c8a08505..9d223dfda 100644
--- a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
+++ b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
@@ -330,7 +330,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
index 28176f040..212bd215f 100644
--- a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
+++ b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
@@ -178,7 +178,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -327,7 +327,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -356,7 +356,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -580,7 +580,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -624,7 +624,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -669,7 +669,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -717,7 +717,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -756,7 +756,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -796,7 +796,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -840,7 +840,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
index 6d5b8e3a9..073c2d86f 100644
--- a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
+++ b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
@@ -411,7 +411,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
index 5286672ad..fe6f46e35 100644
--- a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
index 3abce6f00..c23d35ca3 100644
--- a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
+++ b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
@@ -270,7 +270,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
index d67af9f6f..c08b8db6b 100644
--- a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
@@ -137,7 +137,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -166,7 +166,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -225,7 +225,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -284,7 +284,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -389,7 +389,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -432,7 +432,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -476,7 +476,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -518,7 +518,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
index f23198b57..2c471f762 100644
--- a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
@@ -147,7 +147,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -176,7 +176,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -295,7 +295,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -324,7 +324,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -353,7 +353,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -455,7 +455,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -498,7 +498,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -540,7 +540,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -577,7 +577,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
index aa93ccb50..0f1e10a33 100644
--- a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
+++ b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
@@ -588,7 +588,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -630,7 +630,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
index 24ecaaf4a..84c997390 100644
--- a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
+++ b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
@@ -514,7 +514,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
index 3d763d28a..85ff935ff 100644
--- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
+++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
@@ -378,7 +378,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
index ff1bec8ec..8b46aff5b 100644
--- a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
@@ -120,7 +120,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
index 4ea6ee9a4..fef185cc5 100644
--- a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
+++ b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
@@ -387,7 +387,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
index 69dd8c9c9..037344c46 100644
--- a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
+++ b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
@@ -222,7 +222,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -625,7 +625,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -642,7 +642,7 @@
       "version": "Wzk1MywxXQ==",
       "attributes": {
         "title": "HTTP - Method and Status",
-        "visState": "{\"title\":\"HTTP - Method and Status\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: arkime_sessions3-*\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.result\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Method\\\", \\\"Status\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"HTTP - Method and Status\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.result\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Method\\\", \\\"Status\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
index 731ada58a..b2855ae48 100644
--- a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
index a34b2f29c..3325c8e0b 100644
--- a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
+++ b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
@@ -481,7 +481,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -523,7 +523,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
index 0dd286831..af8f8fdc5 100644
--- a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
+++ b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
@@ -446,7 +446,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
index 677fa9c43..1ad2919e4 100644
--- a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
+++ b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
@@ -307,7 +307,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -344,7 +344,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
index e59e420a4..c5c3ba13c 100644
--- a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
+++ b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
@@ -247,7 +247,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -410,7 +410,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -454,7 +454,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -496,7 +496,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
index b903db812..47c9a857d 100644
--- a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
+++ b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
@@ -346,7 +346,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -363,7 +363,7 @@
       "version": "Wzk1MSwxXQ==",
       "attributes": {
         "title": "SNMP - Version and PDU Type",
-        "visState": "{\"title\":\"SNMP - Version and PDU Type\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: arkime_sessions3-*\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"network.protocol_version\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"SNMP Version\\\", \\\"Action\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol_version\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"SNMP - Version and PDU Type\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"network.protocol_version\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"SNMP Version\\\", \\\"Action\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol_version\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
index 67d3cedf9..d5ed0a385 100644
--- a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
+++ b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
@@ -235,7 +235,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
index 29c7129e2..ef67fc815 100644
--- a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
+++ b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
@@ -448,7 +448,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
index 3edcebc14..afe5a2eb4 100644
--- a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -127,7 +127,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
index 49405f87b..0bd547249 100644
--- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
+++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
@@ -441,7 +441,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
index 6bcbd4f97..07b55b7fb 100644
--- a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
+++ b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
index 8d328cb06..5d40fb575 100644
--- a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
+++ b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
@@ -112,7 +112,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -183,7 +183,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
index 52d43d0d0..205f303a3 100644
--- a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
+++ b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
@@ -525,7 +525,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -566,7 +566,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -583,7 +583,7 @@
       "version": "WzQzMSwxXQ==",
       "attributes": {
         "title": "Cross Segment Traffic",
-        "visState": "{\"title\":\"Cross Segment Traffic\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: arkime_sessions3-*\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"source.segment.name\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"destination.segment.name\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Source Segment\\\", \\\"Destination Segment\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"source.segment.name\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"destination.segment.name\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"Cross Segment Traffic\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"source.segment.name\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"destination.segment.name\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Source Segment\\\", \\\"Destination Segment\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"source.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"destination.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -621,7 +621,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
index c452f1d5a..d53132306 100644
--- a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
+++ b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
@@ -341,7 +341,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
index 710154d0b..2f3e70e89 100644
--- a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
index fe22e1ae0..c5ccb502b 100644
--- a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
+++ b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
@@ -413,7 +413,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
index dba7cb265..59fc58138 100644
--- a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
+++ b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
@@ -658,7 +658,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -700,7 +700,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
index 9f9933675..2a14155c0 100644
--- a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
+++ b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
@@ -516,7 +516,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
index 5f373392d..09479edc7 100644
--- a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
+++ b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
@@ -257,7 +257,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -286,7 +286,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -419,7 +419,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -461,7 +461,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -504,7 +504,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
index a0b342987..d18342d85 100644
--- a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
+++ b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
@@ -409,7 +409,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -452,7 +452,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -495,7 +495,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -538,7 +538,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
index 048c718fc..979d1b4c4 100644
--- a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
+++ b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
index 4853d0102..d1c09ca1a 100644
--- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
+++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
@@ -167,7 +167,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -419,7 +419,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -460,7 +460,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -498,7 +498,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -538,7 +538,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -579,7 +579,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
index db66cce10..5b281bb0f 100644
--- a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
+++ b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
@@ -376,7 +376,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
index 30d07fe83..373fc5337 100644
--- a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
+++ b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
@@ -137,7 +137,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -196,7 +196,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -255,7 +255,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -314,7 +314,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -343,7 +343,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -372,7 +372,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -473,7 +473,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -517,7 +517,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -558,7 +558,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
index 4dcf04eac..74bd123dc 100644
--- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
+++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
@@ -302,7 +302,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -331,7 +331,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -373,7 +373,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/Vega.Sankey.txt b/dashboards/dashboards/Vega.Sankey.txt
index 7b710e97e..0181028d3 100644
--- a/dashboards/dashboards/Vega.Sankey.txt
+++ b/dashboards/dashboards/Vega.Sankey.txt
@@ -10,7 +10,7 @@
       url: {
         %context%: true
         %timefield%: firstPacket
-        index: arkime_sessions3-*
+        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER
         body: {
           size: 0
           aggs: {
@@ -407,7 +407,7 @@
         {
           // Clicking groupMark sets this signal to the filter values
           events: @groupMark:click!
-          update: "datum.stack=='stk1' ? opensearchDashboardsAddFilter({\"match_phrase\": { \"source.ip\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\"match_phrase\": { \"destination.ip\": datum.grpId } }, 'arkime_sessions3-*')"
+          update: "datum.stack=='stk1' ? opensearchDashboardsAddFilter({\"match_phrase\": { \"source.ip\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\"match_phrase\": { \"destination.ip\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')"
         }
         {
           // Clicking "show all" button, or double-clicking anywhere resets it
diff --git a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
index 089349790..982cf50fd 100644
--- a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
index ee4b3eb59..375fba702 100644
--- a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
+++ b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
@@ -117,7 +117,7 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -176,7 +176,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -193,7 +193,7 @@
       "version": "Wzk1OSwxXQ==",
       "attributes": {
         "title": "Top Actions by Service",
-        "visState": "{\"title\":\"Top Actions by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: arkime_sessions3-*\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"network.protocol\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Action\\\", \\\"Protocol\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"Top Actions by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"network.protocol\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Action\\\", \\\"Protocol\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -216,7 +216,7 @@
       "version": "Wzk2MCwxXQ==",
       "attributes": {
         "title": "Top Results by Service",
-        "visState": "{\"title\":\"Top Results by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: arkime_sessions3-*\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"network.protocol\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.result\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Protocol\\\", \\\"Result\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"right\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"Top Results by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"network.protocol\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.result\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Protocol\\\", \\\"Result\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"right\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -251,7 +251,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -280,7 +280,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -325,7 +325,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
index a3b757c70..bc99e025d 100644
--- a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
@@ -122,12 +122,12 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -156,12 +156,12 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -205,7 +205,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -429,7 +429,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -472,7 +472,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
index 9df8a913f..94363754e 100644
--- a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
+++ b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
@@ -930,7 +930,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
index 01be94389..2a870c85b 100644
--- a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
+++ b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
@@ -377,7 +377,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
index 5c24b521e..858c224a5 100644
--- a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
+++ b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
@@ -137,7 +137,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
index 3ae48e383..4c01c5b18 100644
--- a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
+++ b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
index bce317209..9c6683341 100644
--- a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
index fe4e02a41..03cfd0560 100644
--- a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
+++ b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
@@ -516,7 +516,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json b/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json
index 1cb489e73..acd0455b2 100644
--- a/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json
+++ b/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json
@@ -74,7 +74,7 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -133,7 +133,7 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -198,7 +198,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json
index b4a58edec..dd54b51d0 100644
--- a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json
+++ b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json
@@ -132,7 +132,7 @@
       "version": "WzkyNCwxXQ==",
       "attributes": {
         "title": "Malcolm Sensor Audit Logs - Logs Over Time by Type",
-        "visState": "{\"title\":\"Malcolm Sensor Audit Logs - Logs Over Time by Type\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"miscbeat.auditlog.type\",\"terms_size\":\"20\",\"hide_in_legend\":0,\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.module:auditlog AND miscbeat.auditlog:*\",\"language\":\"kuery\"},\"legend_position\":\"right\"}}",
+        "visState": "{\"title\":\"Malcolm Sensor Audit Logs - Logs Over Time by Type\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"miscbeat.auditlog.type\",\"terms_size\":\"20\",\"hide_in_legend\":0,\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.module:auditlog AND miscbeat.auditlog:*\",\"language\":\"kuery\"},\"legend_position\":\"right\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -267,7 +267,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json b/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json
index de7c0a4e5..d9ffc162c 100644
--- a/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json
+++ b/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json
@@ -74,7 +74,7 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -202,7 +202,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/beats/Filebeat-nginx-logs.json b/dashboards/dashboards/beats/Filebeat-nginx-logs.json
index 859ee6d8b..46f35dcdd 100644
--- a/dashboards/dashboards/beats/Filebeat-nginx-logs.json
+++ b/dashboards/dashboards/beats/Filebeat-nginx-logs.json
@@ -79,7 +79,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -119,7 +119,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -142,7 +142,7 @@
         "title": "nginx Access Over Time",
         "uiStateJSON": "{}",
         "version": 1,
-        "visState": "{\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"line\",\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"1db649a0-a1f3-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"label\":\"Access logs\",\"axis_position\":\"right\",\"split_mode\":\"everything\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"url.original\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"index_pattern\":\"malcolm_beats_*\",\"axis_position\":\"left\",\"annotations\":[{\"index_pattern\":\"malcolm_beats_*\",\"ignore_global_filters\":1,\"id\":\"970b1420-a1f3-11e7-a062-a1c3587f4874\",\"time_field\":\"@timestamp\",\"icon\":\"fa-tag\",\"color\":\"#F00\",\"ignore_panel_filters\":1}],\"background_color_rules\":[{\"id\":\"3189aa80-a1f3-11e7-a062-a1c3587f4874\"}],\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Access Over Time\"}"
+        "visState": "{\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"line\",\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"1db649a0-a1f3-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"label\":\"Access logs\",\"axis_position\":\"right\",\"split_mode\":\"everything\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"url.original\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"axis_position\":\"left\",\"annotations\":[{\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"ignore_global_filters\":1,\"id\":\"970b1420-a1f3-11e7-a062-a1c3587f4874\",\"time_field\":\"@timestamp\",\"icon\":\"fa-tag\",\"color\":\"#F00\",\"ignore_panel_filters\":1}],\"background_color_rules\":[{\"id\":\"3189aa80-a1f3-11e7-a062-a1c3587f4874\"}],\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Access Over Time\"}"
       },
       "references": [],
       "migrationVersion": {
diff --git a/dashboards/dashboards/beats/Filebeat-nginx-overview.json b/dashboards/dashboards/beats/Filebeat-nginx-overview.json
index 1092fdcba..4df0fb11c 100644
--- a/dashboards/dashboards/beats/Filebeat-nginx-overview.json
+++ b/dashboards/dashboards/beats/Filebeat-nginx-overview.json
@@ -90,7 +90,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -119,7 +119,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -172,7 +172,7 @@
         "title": "nginx Response Codes Over Time",
         "uiStateJSON": "{}",
         "version": 1,
-        "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"bar\",\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":{\"query\":\"http.response.status_code:[200 TO 299]\",\"language\":\"lucene\"},\"label\":\"200s\",\"id\":\"5acdc750-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(252,196,0,1)\",\"filter\":{\"query\":\"http.response.status_code:[300 TO 399]\",\"language\":\"lucene\"},\"label\":\"300s\",\"id\":\"6efd2ae0-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(211,49,21,1)\",\"filter\":{\"query\":\"http.response.status_code:[400 TO 499]\",\"language\":\"lucene\"},\"label\":\"400s\",\"id\":\"76089a90-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(171,20,158,1)\",\"filter\":{\"query\":\"http.response.status_code:[500 TO 599]\",\"language\":\"lucene\"},\"label\":\"500s\",\"id\":\"7c7929d0-a29d-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"label\":\"\",\"axis_position\":\"right\",\"split_mode\":\"filters\",\"fill\":0.5,\"stacked\":\"stacked\",\"terms_field\":\"http.response.status_code\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Response Codes Over Time\"}"
+        "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"bar\",\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":{\"query\":\"http.response.status_code:[200 TO 299]\",\"language\":\"lucene\"},\"label\":\"200s\",\"id\":\"5acdc750-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(252,196,0,1)\",\"filter\":{\"query\":\"http.response.status_code:[300 TO 399]\",\"language\":\"lucene\"},\"label\":\"300s\",\"id\":\"6efd2ae0-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(211,49,21,1)\",\"filter\":{\"query\":\"http.response.status_code:[400 TO 499]\",\"language\":\"lucene\"},\"label\":\"400s\",\"id\":\"76089a90-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(171,20,158,1)\",\"filter\":{\"query\":\"http.response.status_code:[500 TO 599]\",\"language\":\"lucene\"},\"label\":\"500s\",\"id\":\"7c7929d0-a29d-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"label\":\"\",\"axis_position\":\"right\",\"split_mode\":\"filters\",\"fill\":0.5,\"stacked\":\"stacked\",\"terms_field\":\"http.response.status_code\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Response Codes Over Time\"}"
       },
       "references": [],
       "migrationVersion": {
@@ -195,7 +195,7 @@
         "title": "nginx Top Pages",
         "uiStateJSON": "{}",
         "version": 1,
-        "visState": "{\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"line\",\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"value_template\":\"\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"axis_position\":\"right\",\"split_mode\":\"terms\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"url.original\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"top_n\",\"index_pattern\":\"malcolm_beats_*\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"6252c320-a1f5-11e7-92ba-5d0b8663aece\"}],\"interval\":\"auto\"},\"aggs\":[],\"title\":\"nginx Top Pages\"}"
+        "visState": "{\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"line\",\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"value_template\":\"\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"axis_position\":\"right\",\"split_mode\":\"terms\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"url.original\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"top_n\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"6252c320-a1f5-11e7-92ba-5d0b8663aece\"}],\"interval\":\"auto\"},\"aggs\":[],\"title\":\"nginx Top Pages\"}"
       },
       "references": [],
       "migrationVersion": {
@@ -218,7 +218,7 @@
         "title": "nginx Errors Over Time",
         "uiStateJSON": "{}",
         "version": 1,
-        "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"bar\",\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"axis_position\":\"right\",\"split_mode\":\"terms\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"log.level\",\"color\":\"rgba(211,49,21,1)\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:error\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Errors Over Time\"}"
+        "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"bar\",\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"axis_position\":\"right\",\"split_mode\":\"terms\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"log.level\",\"color\":\"rgba(211,49,21,1)\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:error\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Errors Over Time\"}"
       },
       "references": [],
       "migrationVersion": {
@@ -241,7 +241,7 @@
         "title": "nginx Data Volume",
         "uiStateJSON": "{}",
         "version": 1,
-        "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"formatter\":\"bytes\",\"chart_type\":\"line\",\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":{\"query\":\"http.response.status_code:[200 TO 299]\",\"language\":\"lucene\"},\"label\":\"200s\",\"id\":\"7c343c20-a29e-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"sum\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"field\":\"http.response.body.bytes\"}],\"label\":\"\",\"axis_position\":\"right\",\"split_mode\":\"everything\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":null,\"color\":\"#68BC00\",\"line_width\":1,\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module: nginx AND fileset.name: access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Data Volume\"}"
+        "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"formatter\":\"bytes\",\"chart_type\":\"line\",\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":{\"query\":\"http.response.status_code:[200 TO 299]\",\"language\":\"lucene\"},\"label\":\"200s\",\"id\":\"7c343c20-a29e-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"sum\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"field\":\"http.response.body.bytes\"}],\"label\":\"\",\"axis_position\":\"right\",\"split_mode\":\"everything\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":null,\"color\":\"#68BC00\",\"line_width\":1,\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module: nginx AND fileset.name: access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Data Volume\"}"
       },
       "references": [],
       "migrationVersion": {
@@ -305,7 +305,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/beats/Metricbeat-host-overview.json b/dashboards/dashboards/beats/Metricbeat-host-overview.json
index bace7fc3d..c532cb56d 100644
--- a/dashboards/dashboards/beats/Metricbeat-host-overview.json
+++ b/dashboards/dashboards/beats/Metricbeat-host-overview.json
@@ -122,7 +122,7 @@
       "version": "WzEwMjgsMV0=",
       "attributes": {
         "title": "Network Traffic (Packets)",
-        "visState": "{\"title\":\"Network Traffic (Packets)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"'0a'\",\"id\":\"49931900-ebf3-11ec-a401-f5db2d59e6af\",\"label\":\"Inbound\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"49931901-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"75fba890-ebf3-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.tx\"},{\"id\":\"96daba60-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"98e138c0-ebf3-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"'0a'\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}",
+        "visState": "{\"title\":\"Network Traffic (Packets)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"'0a'\",\"id\":\"49931900-ebf3-11ec-a401-f5db2d59e6af\",\"label\":\"Inbound\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"49931901-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"75fba890-ebf3-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.tx\"},{\"id\":\"96daba60-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"98e138c0-ebf3-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"'0a'\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -145,7 +145,7 @@
       "version": "Wzg1NSwxXQ==",
       "attributes": {
         "title": "Network Traffic (Bytes)",
-        "visState": "{\"title\":\"Network Traffic (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"6d8b8ab0-ebf1-11ec-a401-f5db2d59e6af\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"6d8b8ab1-ebf1-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"label\":\"Inbound\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"b5977de0-ebf2-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.tx\"},{\"id\":\"cdfb1540-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"d1b9caf0-ebf2-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"terms_field\":\"miscbeat.network.interface\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}",
+        "visState": "{\"title\":\"Network Traffic (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"6d8b8ab0-ebf1-11ec-a401-f5db2d59e6af\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"6d8b8ab1-ebf1-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"label\":\"Inbound\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"b5977de0-ebf2-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.tx\"},{\"id\":\"cdfb1540-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"d1b9caf0-ebf2-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"terms_field\":\"miscbeat.network.interface\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -168,7 +168,7 @@
       "version": "Wzg1NiwxXQ==",
       "attributes": {
         "title": "Memory Usage",
-        "visState": "{\"title\":\"Memory Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used\",\"type\":\"avg\"},{\"id\":\"3150c580-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"34e66f60-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"usedkb\",\"field\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.usedkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Used\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(0,156,224,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"4f1bb980-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"52c168f0-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"swapkb\",\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.swapkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Swap\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.free\",\"type\":\"avg\"},{\"id\":\"61b8e450-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"6458bc80-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"freekb\",\"field\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.freekb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Free\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Memory Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used\",\"type\":\"avg\"},{\"id\":\"3150c580-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"34e66f60-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"usedkb\",\"field\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.usedkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Used\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(0,156,224,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"4f1bb980-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"52c168f0-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"swapkb\",\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.swapkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Swap\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.free\",\"type\":\"avg\"},{\"id\":\"61b8e450-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"6458bc80-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"freekb\",\"field\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.freekb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Free\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -191,7 +191,7 @@
       "version": "Wzg1NywxXQ==",
       "attributes": {
         "title": "CPU Usage",
-        "visState": "{\"title\":\"CPU Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.system_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"system\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"value_template\":\"{{value}}%\"},{\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.user_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"0.9\",\"line_width\":1,\"label\":\"user\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\"},{\"id\":\"4eb3d7b0-eb9b-11ec-8afc-039f20728581\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(46,88,242,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4eb3d7b1-eb9b-11ec-8afc-039f20728581\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"total\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\",\"hidden\":false}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"CPU Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.system_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"system\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"value_template\":\"{{value}}%\"},{\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.user_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"0.9\",\"line_width\":1,\"label\":\"user\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\"},{\"id\":\"4eb3d7b0-eb9b-11ec-8afc-039f20728581\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(46,88,242,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4eb3d7b1-eb9b-11ec-8afc-039f20728581\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"total\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\",\"hidden\":false}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -214,7 +214,7 @@
       "version": "Wzg1OCwxXQ==",
       "attributes": {
         "title": "Disk IO (Bytes)",
-        "visState": "{\"title\":\"Disk IO (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(22,165,165,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.read_size\",\"type\":\"sum\"},{\"id\":\"3be3ef00-eb99-11ec-8afc-039f20728581\",\"type\":\"math\",\"variables\":[{\"id\":\"40f00c40-eb99-11ec-8afc-039f20728581\",\"name\":\"readsize\",\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\"}],\"script\":\"0 - params.readsize\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"reads\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(251,158,0,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.write_size\",\"type\":\"sum\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"writes\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Disk IO (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(22,165,165,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.read_size\",\"type\":\"sum\"},{\"id\":\"3be3ef00-eb99-11ec-8afc-039f20728581\",\"type\":\"math\",\"variables\":[{\"id\":\"40f00c40-eb99-11ec-8afc-039f20728581\",\"name\":\"readsize\",\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\"}],\"script\":\"0 - params.readsize\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"reads\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(251,158,0,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.write_size\",\"type\":\"sum\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"writes\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -237,7 +237,7 @@
       "version": "Wzg4MSwxXQ==",
       "attributes": {
         "title": "CPU Usage Gauge",
-        "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}",
+        "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -260,7 +260,7 @@
       "version": "Wzg4MCwxXQ==",
       "attributes": {
         "title": "Memory Usage Gauge",
-        "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -283,7 +283,7 @@
       "version": "Wzk0OCwxXQ==",
       "attributes": {
         "title": "Inbound Traffic",
-        "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}",
+        "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -306,7 +306,7 @@
       "version": "Wzk1NSwxXQ==",
       "attributes": {
         "title": "Outbound Traffic",
-        "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"malcolm_beats_*\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -352,7 +352,7 @@
       "version": "Wzg2NCwxXQ==",
       "attributes": {
         "title": "Swap usage",
-        "visState": "{\"title\":\"Swap usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"filter\":\"\",\"series\":[{\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.mem.Swap.total\"},{\"id\":\"a4743e90-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"a62793e0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"used\",\"field\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\"},{\"id\":\"aaa023b0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"total\",\"field\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\"}],\"script\":\"params.used / params.total\"}],\"formatter\":\"percent\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Swap usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Swap usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"filter\":\"\",\"series\":[{\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.mem.Swap.total\"},{\"id\":\"a4743e90-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"a62793e0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"used\",\"field\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\"},{\"id\":\"aaa023b0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"total\",\"field\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\"}],\"script\":\"params.used / params.total\"}],\"formatter\":\"percent\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Swap usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -375,7 +375,7 @@
       "version": "Wzg2NSwxXQ==",
       "attributes": {
         "title": "Memory usage vs total",
-        "visState": "{\"title\":\"Memory usage vs total\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"6f7618b0-4d5c-11e7-aa29-87a97a796de6\"}],\"id\":\"6bc65720-4d5c-11e7-aa29-87a97a796de6\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"6bc65721-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Memory usage\",\"line_width\":1,\"metrics\":[{\"field\":\"miscbeat.mem.Mem.used\",\"id\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"},{\"id\":\"647ab8e0-eb53-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"674d39d0-eb53-11ec-ae08-f703744a0ba1\",\"name\":\"memusedkb\",\"field\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\"}],\"script\":\"params.memusedkb * 1000\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"b8fe6820-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Total Memory\",\"line_width\":1,\"metrics\":[{\"field\":\"miscbeat.mem.Mem.total\",\"id\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"},{\"id\":\"83f4bc70-eb53-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"9ea2b900-eb53-11ec-ae08-f703744a0ba1\",\"name\":\"memtotalkb\",\"field\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\"}],\"script\":\"params.memtotalkb * 1000\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Memory usage vs total\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"6f7618b0-4d5c-11e7-aa29-87a97a796de6\"}],\"id\":\"6bc65720-4d5c-11e7-aa29-87a97a796de6\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"6bc65721-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Memory usage\",\"line_width\":1,\"metrics\":[{\"field\":\"miscbeat.mem.Mem.used\",\"id\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"},{\"id\":\"647ab8e0-eb53-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"674d39d0-eb53-11ec-ae08-f703744a0ba1\",\"name\":\"memusedkb\",\"field\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\"}],\"script\":\"params.memusedkb * 1000\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"b8fe6820-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Total Memory\",\"line_width\":1,\"metrics\":[{\"field\":\"miscbeat.mem.Mem.total\",\"id\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"},{\"id\":\"83f4bc70-eb53-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"9ea2b900-eb53-11ec-ae08-f703744a0ba1\",\"name\":\"memtotalkb\",\"field\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\"}],\"script\":\"params.memtotalkb * 1000\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -398,7 +398,7 @@
       "version": "Wzk3NSwxXQ==",
       "attributes": {
         "title": "Disk used",
-        "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"arkime_sessions3-*\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}",
+        "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -421,7 +421,7 @@
       "version": "WzEwMzQsMV0=",
       "attributes": {
         "title": "Interfaces by Incoming traffic",
-        "visState": "{\"title\":\"Interfaces by Incoming traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.rx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Incoming traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Interfaces by Incoming traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.rx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Incoming traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -444,7 +444,7 @@
       "version": "WzEwMzcsMV0=",
       "attributes": {
         "title": "Interfaces by Outgoing traffic",
-        "visState": "{\"title\":\"Interfaces by Outgoing traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Outgoing traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Interfaces by Outgoing traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Outgoing traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -490,7 +490,7 @@
       "version": "WzEwMjUsMV0=",
       "attributes": {
         "title": "Network Traffic (Drops and Errors)",
-        "visState": "{\"title\":\"Network Traffic (Drops and Errors)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"77170e30-ebf4-11ec-a401-f5db2d59e6af\"}],\"label\":\"Drops In\"},{\"id\":\"e5fec770-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"e5fec771-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors In\"},{\"id\":\"ce173de0-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"ce173de1-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Drops Out\",\"color_rules\":[{\"id\":\"e3795510-ebf4-11ec-a401-f5db2d59e6af\"}]},{\"id\":\"f381f250-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"f381f251-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors Out\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"bar_color_rules\":[{\"id\":\"5eab8790-ebf4-11ec-a401-f5db2d59e6af\"}],\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"pivot_label\":\"Interface\"}}",
+        "visState": "{\"title\":\"Network Traffic (Drops and Errors)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"77170e30-ebf4-11ec-a401-f5db2d59e6af\"}],\"label\":\"Drops In\"},{\"id\":\"e5fec770-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"e5fec771-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors In\"},{\"id\":\"ce173de0-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"ce173de1-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Drops Out\",\"color_rules\":[{\"id\":\"e3795510-ebf4-11ec-a401-f5db2d59e6af\"}]},{\"id\":\"f381f250-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"f381f251-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors Out\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"bar_color_rules\":[{\"id\":\"5eab8790-ebf4-11ec-a401-f5db2d59e6af\"}],\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"pivot_label\":\"Interface\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/beats/Metricbeat-system-overview.json b/dashboards/dashboards/beats/Metricbeat-system-overview.json
index 00449938f..a0d9aa0c3 100644
--- a/dashboards/dashboards/beats/Metricbeat-system-overview.json
+++ b/dashboards/dashboards/beats/Metricbeat-system-overview.json
@@ -120,7 +120,7 @@
       },
       "references": [
         {
-          "id": "malcolm_beats_*",
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER",
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern"
         }
@@ -139,7 +139,7 @@
       "version": "Wzg3NCwxXQ==",
       "attributes": {
         "title": "Top Hosts By Memory",
-        "visState": "{\"title\":\"Top Hosts By Memory\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"malcolm_beats_*\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Top Hosts By Memory\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -162,7 +162,7 @@
       "version": "Wzg3NSwxXQ==",
       "attributes": {
         "title": "Top Hosts By CPU",
-        "visState": "{\"title\":\"Top Hosts By CPU\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"malcolm_beats_*\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Top Hosts By CPU\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -197,7 +197,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -214,7 +214,7 @@
       "version": "Wzk0OCwxXQ==",
       "attributes": {
         "title": "Inbound Traffic",
-        "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}",
+        "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -237,7 +237,7 @@
       "version": "Wzk1NSwxXQ==",
       "attributes": {
         "title": "Outbound Traffic",
-        "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"malcolm_beats_*\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -260,7 +260,7 @@
       "version": "Wzk3NSwxXQ==",
       "attributes": {
         "title": "Disk used",
-        "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"arkime_sessions3-*\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}",
+        "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -283,7 +283,7 @@
       "version": "Wzg4MCwxXQ==",
       "attributes": {
         "title": "Memory Usage Gauge",
-        "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -306,7 +306,7 @@
       "version": "Wzg4MSwxXQ==",
       "attributes": {
         "title": "CPU Usage Gauge",
-        "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}",
+        "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json b/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json
index 6a4e2047e..f465091b6 100644
--- a/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json
+++ b/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json
@@ -240,7 +240,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "malcolm_beats_*"
+          "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
index ca024e00b..1c9904d9e 100644
--- a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
@@ -120,7 +120,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -311,7 +311,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
index 813a5c6dd..84e6c2487 100644
--- a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
+++ b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
@@ -343,7 +343,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
index 62c2d8847..5e954e4b1 100644
--- a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
+++ b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
@@ -307,7 +307,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
index 9f73fd737..f379f6b05 100644
--- a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
+++ b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
@@ -353,7 +353,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -400,7 +400,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -475,7 +475,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
index e3fb73a63..f628bde9e 100644
--- a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
+++ b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
@@ -482,7 +482,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
index c7c63c3ee..17f9a6c1b 100644
--- a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
+++ b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
@@ -237,7 +237,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -506,7 +506,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -548,7 +548,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -593,7 +593,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -635,7 +635,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -677,7 +677,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
index ef4c170a9..ac5e72581 100644
--- a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
index 33b38480a..43a27ddbf 100644
--- a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
+++ b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
index ac91e6016..73bec3d0e 100644
--- a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
+++ b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
@@ -172,7 +172,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -201,7 +201,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -230,7 +230,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -259,7 +259,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -478,7 +478,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -517,7 +517,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
index 229e97acd..d472ef8df 100644
--- a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
+++ b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
index 455a53aaa..8b658a84a 100644
--- a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
@@ -374,7 +374,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -413,7 +413,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -454,7 +454,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -495,7 +495,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
index 404280a46..bd1b7bb7d 100644
--- a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
@@ -127,7 +127,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
index 44b974e2a..6d97c14ef 100644
--- a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
+++ b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
@@ -425,7 +425,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
index 0f4429f77..af52c8ca0 100644
--- a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
+++ b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
@@ -122,17 +122,17 @@
         {
           "name": "control_0_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_1_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         },
         {
           "name": "control_2_index_pattern",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -199,7 +199,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
index 2c2b0e1e2..9e65b0dba 100644
--- a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
+++ b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
@@ -482,7 +482,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
index 0b583c93c..93142ab14 100644
--- a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
@@ -125,7 +125,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
index 68d0a8e17..851e81269 100644
--- a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
+++ b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
@@ -448,7 +448,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -488,7 +488,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
@@ -533,7 +533,7 @@
         {
           "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
           "type": "index-pattern",
-          "id": "arkime_sessions3-*"
+          "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"
         }
       ],
       "migrationVersion": {
diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/create-arkime-sessions-index.sh
index 868f9d135..1039a686a 100755
--- a/dashboards/scripts/create-arkime-sessions-index.sh
+++ b/dashboards/scripts/create-arkime-sessions-index.sh
@@ -6,9 +6,8 @@ set -euo pipefail
 shopt -s nocasematch
 
 DASHB_URL=${DASHBOARDS_URL:-"http://dashboards:5601/dashboards"}
-INDEX_PATTERN=${ARKIME_INDEX_PATTERN:-"arkime_sessions3-*"}
-INDEX_PATTERN_ID=${ARKIME_INDEX_PATTERN_ID:-"arkime_sessions3-*"}
-INDEX_TIME_FIELD=${ARKIME_INDEX_TIME_FIELD:-"firstPacket"}
+INDEX_PATTERN=${MALCOLM_NETWORK_INDEX_PATTERN:-"arkime_sessions3-*"}
+INDEX_TIME_FIELD=${MALCOLM_NETWORK_INDEX_TIME_FIELD:-"firstPacket"}
 DUMMY_DETECTOR_NAME=${DUMMY_DETECTOR_NAME:-"malcolm_init_dummy"}
 DARK_MODE=${DASHBOARDS_DARKMODE:-"true"}
 
@@ -26,7 +25,7 @@ OPENSEARCH_SECONDARY=${OPENSEARCH_SECONDARY:-""}
 # is the argument to automatically create this index enabled?
 if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
 
-  # give OpenSearch time to start and Arkime to get its template created before configuring dashboards
+  # give OpenSearch time to start and Arkime to get its own template created before configuring dashboards
   /data/opensearch_status.sh -l arkime_sessions3_template >/dev/null 2>&1
 
   for LOOP in primary secondary; do
@@ -79,7 +78,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
     if [[ "$LOOP" != "primary" ]] || curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --fail -XGET "$DASHB_URL/api/status" ; then
 
       # have we not not already created the index pattern?
-      if [[ "$LOOP" != "primary" ]] || ! curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --fail -XGET "$DASHB_URL/api/saved_objects/index-pattern/$INDEX_PATTERN_ID" ; then
+      if [[ "$LOOP" != "primary" ]] || ! curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --fail -XGET "$DASHB_URL/api/saved_objects/index-pattern/$INDEX_PATTERN" ; then
 
         echo "$DATASTORE_TYPE ($LOOP) is running at \"${OPENSEARCH_URL_TO_USE}\"!"
 
@@ -171,7 +170,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
           # From https://github.com/elastic/kibana/issues/3709
           # Create index pattern
           curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \
-            "$DASHB_URL/api/saved_objects/index-pattern/$INDEX_PATTERN_ID" \
+            "$DASHB_URL/api/saved_objects/index-pattern/$INDEX_PATTERN" \
             -d"{\"attributes\":{\"title\":\"$INDEX_PATTERN\",\"timeFieldName\":\"$INDEX_TIME_FIELD\"}}" 2>&1 || true
 
           echo "Setting default index pattern..."
@@ -179,7 +178,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
           # Make it the default index
           curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \
             "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/defaultIndex" \
-            -d"{\"value\":\"$INDEX_PATTERN_ID\"}" || true
+            -d"{\"value\":\"$INDEX_PATTERN\"}" || true
 
           for i in ${OTHER_INDEX_PATTERNS[@]}; do
             IDX_ID="$(echo "$i" | cut -d';' -f1)"
@@ -240,7 +239,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
             # enable in-session storage
             curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/state:storeInSessionStorage" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"value":true}'
 
-            # before we go on to create the anomaly detectors, we need to wait for actual arkime_sessions3-* documents
+            # before we go on to create the anomaly detectors, we need to wait for actual network log documents
             /data/opensearch_status.sh -w >/dev/null 2>&1
             sleep 60
 
diff --git a/dashboards/scripts/index-refresh.py b/dashboards/scripts/index-refresh.py
index ce283fc58..82fc27b5a 100755
--- a/dashboards/scripts/index-refresh.py
+++ b/dashboards/scripts/index-refresh.py
@@ -62,7 +62,7 @@ def main():
         dest='index',
         metavar='<str>',
         type=str,
-        default='arkime_sessions3-*',
+        default=os.getenv('MALCOLM_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'),
         help='Index Pattern Name',
     )
     parser.add_argument(
diff --git a/dashboards/templates/malcolm_template.json b/dashboards/templates/malcolm_template.json
index e576fcd78..adb4e4e1c 100644
--- a/dashboards/templates/malcolm_template.json
+++ b/dashboards/templates/malcolm_template.json
@@ -1,5 +1,5 @@
 {
-  "index_patterns" : ["arkime_sessions3-*"],
+  "index_patterns" : ["MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"],
   "composed_of": [
     "ecs_base",
     "ecs_ecs",
diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf
index 5655f6908..51ec8f212 100644
--- a/logstash/pipelines/enrichment/98_finalize.conf
+++ b/logstash/pipelines/enrichment/98_finalize.conf
@@ -6,8 +6,13 @@ filter {
 
     # this field is used to determine opensearch index prefix
     if (![@metadata][malcolm_opensearch_index_prefix]) {
-      mutate { id => "mutate_add_arkime_sessions_index_prefix"
-               add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "arkime_sessions3" } }
+      ruby {
+        id => "rube_add_network_logs_index_prefix"
+        init => "$indexPrefix = ENV['MALCOLM_NETWORK_INDEX_PATTERN'].sub(/[\*_-]*$/, '')"
+        code => "
+          event.set('[@metadata][malcolm_opensearch_index_prefix]', ($indexPrefix.nil? || $indexPrefix.empty?) ? 'arkime_sessions3' : $indexPrefix)
+        "
+      }
     }
 
     # event.hash is used for document ID, it really needed to be set by now
diff --git a/nginx/nginx.conf b/nginx/nginx.conf
index fc0289e84..e9b621b16 100644
--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -161,6 +161,7 @@ http {
         set $filter_value $arg_value;
       }
 
+      # TODO: index and time field could be specified by environment variables
       rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'arkime_sessions3-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'arkime_sessions3-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect;
       proxy_pass http://dashboards;
       proxy_redirect off;
diff --git a/nginx/nginx_readonly.conf b/nginx/nginx_readonly.conf
index fd12a4a8d..f19b341c5 100644
--- a/nginx/nginx_readonly.conf
+++ b/nginx/nginx_readonly.conf
@@ -95,6 +95,7 @@ http {
         set $filter_value $arg_value;
       }
 
+      # TODO: index and time field could be specified by environment variables
       rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'arkime_sessions3-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'arkime_sessions3-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect;
       proxy_pass http://dashboards;
       proxy_redirect off;
diff --git a/shared/bin/opensearch_index_size_prune.py b/shared/bin/opensearch_index_size_prune.py
index 50b724576..ee4a4eb0c 100755
--- a/shared/bin/opensearch_index_size_prune.py
+++ b/shared/bin/opensearch_index_size_prune.py
@@ -39,6 +39,7 @@ def main():
         default=str2bool(os.getenv('OPENSEARCH_INDEX_SIZE_PRUNE_DEBUG', default='False')),
         help="Verbose output",
     )
+    # TODO: allow specifying two indices (e.g., MALCOLM_NETWORK_INDEX_PATTERN may be different than ARKIME_NETWORK_INDEX_PATTERN)
     parser.add_argument(
         '-i',
         '--index',
diff --git a/shared/bin/opensearch_status.sh b/shared/bin/opensearch_status.sh
index 72883939b..fb79d34a8 100755
--- a/shared/bin/opensearch_status.sh
+++ b/shared/bin/opensearch_status.sh
@@ -9,7 +9,7 @@ ENCODING="utf-8"
 # options
 # -v       (verbose)
 # -t <str> (wait not only for "up" status, but also wait for specified index template ot exist
-# -w       (wait not only for "up" status, but also wait for actual arkime_sessions3-* logs to exist)
+# -w       (wait not only for "up" status, but also wait for actual network traffic logs to exist)
 #
 # opensearch connection parameters are read from environment variables
 
@@ -44,6 +44,8 @@ shift "$(($OPTIND -1))"
 
 OPENSEARCH_URL=${OPENSEARCH_URL:-"http://opensearch:9200"}
 OPENSEARCH_PRIMARY=${OPENSEARCH_PRIMARY:-"opensearch-local"}
+MALCOLM_NETWORK_INDEX_PATTERN=${MALCOLM_NETWORK_INDEX_PATTERN:-"arkime_sessions3-*"}
+ARKIME_NETWORK_INDEX_PATTERN=${ARKIME_NETWORK_INDEX_PATTERN:-"arkime_sessions3-*"}
 OPENSEARCH_SSL_CERTIFICATE_VERIFICATION=${OPENSEARCH_SSL_CERTIFICATE_VERIFICATION:-"false"}
 OPENSEARCH_CREDS_CONFIG_FILE=${OPENSEARCH_CREDS_CONFIG_FILE:-"/var/local/curlrc/.opensearch.primary.curlrc"}
 if ( [[ "$OPENSEARCH_PRIMARY" == "opensearch-remote" ]] || [[ "$OPENSEARCH_PRIMARY" == "elasticsearch-remote" ]] ) && [[ -r "$OPENSEARCH_CREDS_CONFIG_FILE" ]]; then
@@ -100,14 +102,20 @@ if (( $WAIT_FOR_LOG_DATA == 1 )); then
 
   echo "Waiting until $OPENSEARCH_PRIMARY has logs..." >&2
 
-  # wait until at least one arkime_sessions3-* index exists
-  until (( $(curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XGET "$OPENSEARCH_URL/_cat/indices/arkime_sessions3-*" 2>/dev/null | wc -l) > 0 )) ; do
-    sleep 5
+  # wait until at least one network traffic log index exists
+  FOUND_INDEX=
+  while true; do
+    if (( $(curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XGET "$OPENSEARCH_URL/_cat/indices/$MALCOLM_NETWORK_INDEX_PATTERN" 2>/dev/null | wc -l) > 0 )); then
+      FOUND_INDEX="$MALCOLM_NETWORK_INDEX_PATTERN"
+    elif [[ "$MALCOLM_NETWORK_INDEX_PATTERN" != "$ARKIME_NETWORK_INDEX_PATTERN" ]] && (( $(curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XGET "$OPENSEARCH_URL/_cat/indices/$ARKIME_NETWORK_INDEX_PATTERN" 2>/dev/null | wc -l) > 0 )); then
+      FOUND_INDEX="$ARKIME_NETWORK_INDEX_PATTERN"
+    fi
+    [[ -n "$FOUND_INDEX" ]] && break || sleep 5
   done
   echo "Log indices exist." >&2
 
   # wait until at least one record with @timestamp exists
-  until curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XPOST "$OPENSEARCH_URL/arkime_sessions3-*/_search" -d'{ "sort": { "@timestamp" : "desc" }, "size" : 1 }' >/dev/null 2>&1 ; do
+  until curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XPOST "$OPENSEARCH_URL/$FOUND_INDEX/_search" -d'{ "sort": { "@timestamp" : "desc" }, "size" : 1 }' >/dev/null 2>&1 ; do
     sleep 5
   done
   echo "Logs exist." >&2

From 16e223ed2cf565d6588173a42908a5a7ec784add Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 14:09:30 -0700
Subject: [PATCH 68/88] allow overriding destination index for Zeek and
 Suricata logs, work in progress, idaholab/Malcolm#313

---
 .../024062a6-48d6-498f-a91a-3bf2da3a3cd3.json |  6 +-
 .../03207c00-d07e-11ec-b4a7-d1b4003706b7.json |  2 +-
 .../05e3e000-f118-11e9-acda-83a8e29e1a24.json |  6 +-
 .../078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json |  4 +-
 .../0a490422-0ce9-44bf-9a2d-19329ddde8c3.json |  4 +-
 .../0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json |  8 +--
 .../0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json |  2 +-
 .../0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json |  4 +-
 .../11be6381-beef-40a7-bdce-88c5398392fc.json |  4 +-
 .../11ddd980-e388-11e9-b568-cf17de8e860c.json |  4 +-
 .../12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json |  2 +-
 .../152f29dc-51a2-4f53-93e9-6e92765567b8.json | 18 +++---
 .../1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json |  2 +-
 .../1ce42250-3f99-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../1fff49f6-0199-4a0f-820b-721aff9ff1f1.json |  4 +-
 .../29a1b290-eb98-11e9-a384-0fcf32210194.json | 10 ++--
 .../2bec1490-eb94-11e9-a384-0fcf32210194.json |  8 +--
 .../2cc56240-e460-11ed-a9d5-9f591c284cb4.json |  6 +-
 .../2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json |  4 +-
 .../2d98bb8e-214c-4374-837b-20e1bcd63a5e.json |  4 +-
 .../32587740-ef88-11e9-b38a-2db3ee640e88.json |  4 +-
 .../36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json |  6 +-
 .../37041ee1-79c0-4684-a436-3173b0e89876.json |  6 +-
 .../39abfe30-3f99-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../42e831b9-41a9-4f35-8b7d-e1566d368773.json |  6 +-
 .../432af556-c5c0-4cc3-8166-b274b4e3a406.json |  4 +-
 .../4a073440-b286-11eb-a4d4-09fa12a6ebd4.json |  2 +-
 .../4a4bde20-4760-11ea-949c-bbb5a9feecbf.json |  8 +--
 .../4e5f106e-c60a-4226-8f64-d534abb912ab.json |  6 +-
 .../50ced171-1b10-4c3f-8b67-2db9635661a6.json |  4 +-
 .../543118a9-02d7-43fe-b669-b8652177fc37.json |  4 +-
 .../55e332d0-3f99-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json |  2 +-
 .../60d78fbd-471c-4f59-a9e3-189b33a13644.json |  2 +-
 .../665d1610-523d-11e9-a30e-e3576242f3ed.json |  4 +-
 .../677ee170-809e-11ed-8d5b-07069f823b6f.json |  2 +-
 .../76f2f912-80da-44cd-ab66-6a73c8344cc3.json |  4 +-
 .../77fc9960-3f99-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../7f41913f-cba8-43f5-82a8-241b7ead03e0.json |  4 +-
 .../7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json |  6 +-
 .../82da3101-2a9c-4ae2-bb61-d447a3fbe673.json |  4 +-
 .../870a5862-6c26-4a08-99fd-0c06cda85ba3.json |  8 +--
 .../87a32f90-ef58-11e9-974e-9d600036d105.json | 10 ++--
 .../87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json |  4 +-
 .../89d1cc50-974c-11ed-bb6b-3fb06c879b11.json |  2 +-
 .../92985909-dc29-4533-9e80-d3182a0ecf1d.json |  4 +-
 .../95479950-41f2-11ea-88fa-7151df485405.json |  8 +--
 .../9ee51f94-3316-4fc5-bd89-93a52af69714.json |  4 +-
 dashboards/dashboards/Vega.Sankey.txt         |  2 +-
 .../a16110b0-3f99-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../a33e0a50-afcd-11ea-993f-b7d8522a8bed.json |  8 +--
 .../a7514350-eba6-11e9-a384-0fcf32210194.json |  8 +--
 .../abdd7550-2c7c-40dc-947e-f6d186a158c4.json |  4 +-
 .../ae79b7d1-4281-4095-b2f6-fa7eafda9970.json |  4 +-
 .../af5df620-eeb6-11e9-bdef-65a192b7f586.json |  4 +-
 .../b50c8d17-6ed3-4de6-aed4-5181032810b2.json |  2 +-
 .../b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../bb827f8e-639e-468c-93c8-9f5bc132eb8f.json |  4 +-
 .../7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json |  2 +-
 .../beats/Metricbeat-host-overview.json       | 28 +++++-----
 .../beats/Metricbeat-system-overview.json     | 14 ++---
 .../bed185a0-ef82-11e9-b38a-2db3ee640e88.json |  6 +-
 .../bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json |  4 +-
 .../c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json |  4 +-
 .../ca5799a0-56b5-11eb-b749-576de068f8ad.json |  8 +--
 .../caef3ade-d289-4d05-a511-149f3e97f238.json |  4 +-
 .../d2dd0180-06b1-11ec-8c6b-353266ade330.json |  6 +-
 .../d41fe630-3f98-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json |  2 +-
 .../dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json |  2 +-
 .../e09a4b86-29b5-4256-bb3b-802ac9f90404.json |  2 +-
 .../e76d05c0-eb9f-11e9-a384-0fcf32210194.json |  2 +-
 .../ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json |  2 +-
 .../f1f09567-fc7f-450b-a341-19d2f2bb468b.json |  4 +-
 .../f394057d-1b16-4174-b994-7045f423a416.json |  2 +-
 .../f77bf097-18a8-465c-b634-eb2acc7a4f26.json |  4 +-
 .../fa141950-ef89-11e9-b38a-2db3ee640e88.json |  4 +-
 .../fa477130-2b8a-11ec-a9f2-3911c8571bfd.json |  4 +-
 .../scripts/create-arkime-sessions-index.sh   | 56 +++++++++++++++----
 79 files changed, 233 insertions(+), 197 deletions(-)

diff --git a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
index 5b9c4e526..51ce770a4 100644
--- a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
+++ b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json
@@ -134,7 +134,7 @@
       "updated_at": "2021-10-12T17:34:03.402Z",
       "version": "WzUsMV0=",
       "attributes": {
-        "visState": "{\"title\":\"X.509 - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"X.509 - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "X.509 - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -507,7 +507,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -587,7 +587,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
index 2f1225139..8784f04c2 100644
--- a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
+++ b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json
@@ -140,7 +140,7 @@
       "version": "WzExMDYsMV0=",
       "attributes": {
         "title": "GENISYS - Log Count Over Time",
-        "visState": "{\"title\":\"GENISYS - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"GENISYS - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
index 9ce459d27..8c6b70b09 100644
--- a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
+++ b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json
@@ -115,7 +115,7 @@
       "version": "WzIwMCwxXQ==",
       "attributes": {
         "title": "LDAP - Log Count Over Time",
-        "visState": "{\"title\":\"LDAP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}",
+        "visState": "{\"title\":\"LDAP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -161,7 +161,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -457,7 +457,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
index 377c3df1b..51de061f4 100644
--- a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
+++ b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json
@@ -109,7 +109,7 @@
       "updated_at": "2021-02-10T21:24:07.693Z",
       "version": "WzgyLDFd",
       "attributes": {
-        "visState": "{\"title\":\"FTP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"FTP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "FTP - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -361,7 +361,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
index 07441f472..f108ed7e2 100644
--- a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
+++ b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json
@@ -109,7 +109,7 @@
       "updated_at": "2021-11-16T20:40:06.406Z",
       "version": "WzIwNSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"PE - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"PE - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "PE - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -328,7 +328,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
index cca70c8fd..a72287382 100644
--- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
+++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json
@@ -110,7 +110,7 @@
       "version": "WzYxLDFd",
       "attributes": {
         "title": "Total Log Count Over Time",
-        "visState": "{\"title\":\"Total Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.provider\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"unknown\"},\"schema\":\"group\"}],\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 30 seconds\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"Total Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.provider\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"unknown\"},\"schema\":\"group\"}],\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 seconds\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "",
         "version": 1,
@@ -361,7 +361,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -405,7 +405,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -446,7 +446,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
index a07074421..a35d26d64 100644
--- a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
+++ b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
index 64df21f9f..f633eb1a8 100644
--- a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
+++ b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json
@@ -129,7 +129,7 @@
       "updated_at": "2021-02-10T21:24:11.908Z",
       "version": "WzE0NywxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"SIP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"SIP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "SIP - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -503,7 +503,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
index 788c9e082..ebc8fcfb9 100644
--- a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
+++ b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json
@@ -104,7 +104,7 @@
       "updated_at": "2021-02-10T21:24:12.938Z",
       "version": "WzE3MiwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"Tunnels - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"Tunnels - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "Tunnels - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -328,7 +328,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
index df9c1574d..4660534a5 100644
--- a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
+++ b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json
@@ -152,7 +152,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -182,7 +182,7 @@
       "version": "WzIzNTAsMV0=",
       "attributes": {
         "title": "QUIC - Log Count Over Time",
-        "visState": "{\"title\":\"QUIC - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"quic.version\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"QUIC Version\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"QUIC - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"quic.version\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"QUIC Version\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
index 9d223dfda..bdf4ca834 100644
--- a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
+++ b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json
@@ -135,7 +135,7 @@
       "version": "WzExMiwxXQ==",
       "attributes": {
         "title": "Best Guess - Log Count Over Time",
-        "visState": "{\"title\":\"Best Guess - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-26y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"Best Guess - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-26y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
index 212bd215f..9ccb3d124 100644
--- a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
+++ b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json
@@ -13,7 +13,7 @@
         "title": "Modbus",
         "hits": 0,
         "description": "Dashboard for the Modbus Protocol",
-        "panelsJSON": "[{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":0,\"w\":8,\"h\":30,\"i\":\"2\"},\"panelIndex\":\"2\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":85,\"w\":48,\"h\":18,\"i\":\"14\"},\"panelIndex\":\"14\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":32,\"y\":23,\"w\":8,\"h\":18,\"i\":\"15\"},\"panelIndex\":\"15\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"panelRefName\":\"panel_2\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":40,\"y\":23,\"w\":8,\"h\":18,\"i\":\"16\"},\"panelIndex\":\"16\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"panelRefName\":\"panel_3\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":8,\"y\":23,\"w\":11,\"h\":18,\"i\":\"18\"},\"panelIndex\":\"18\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":30,\"w\":8,\"h\":11,\"i\":\"19\"},\"panelIndex\":\"19\",\"embeddableConfig\":{\"legendOpen\":true,\"table\":null,\"vis\":{\"legendOpen\":true}},\"panelRefName\":\"panel_5\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":8,\"y\":0,\"w\":11,\"h\":23,\"i\":\"90799aa8-a1f5-4f22-8ebd-fcc89d16f6de\"},\"panelIndex\":\"90799aa8-a1f5-4f22-8ebd-fcc89d16f6de\",\"embeddableConfig\":{},\"panelRefName\":\"panel_6\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":19,\"y\":0,\"w\":29,\"h\":23,\"i\":\"218010cf-a0d9-4864-815b-f562bb67949d\"},\"panelIndex\":\"218010cf-a0d9-4864-815b-f562bb67949d\",\"embeddableConfig\":{},\"panelRefName\":\"panel_7\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":19,\"y\":23,\"w\":13,\"h\":18,\"i\":\"5fd617f5-e213-4c2b-ae10-7a1643e739a7\"},\"panelIndex\":\"5fd617f5-e213-4c2b-ae10-7a1643e739a7\",\"embeddableConfig\":{},\"panelRefName\":\"panel_8\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":41,\"w\":16,\"h\":26,\"i\":\"f8941a7d-be4b-4782-b72b-808645d02139\"},\"panelIndex\":\"f8941a7d-be4b-4782-b72b-808645d02139\",\"embeddableConfig\":{},\"panelRefName\":\"panel_9\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":16,\"y\":41,\"w\":16,\"h\":26,\"i\":\"c0d7fb2c-a651-4054-b4cd-026d9f34ad44\"},\"panelIndex\":\"c0d7fb2c-a651-4054-b4cd-026d9f34ad44\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":4,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":4,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":4,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_10\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":32,\"y\":41,\"w\":16,\"h\":26,\"i\":\"502f22a6-2e5c-44dd-afa8-39309464f3f2\"},\"panelIndex\":\"502f22a6-2e5c-44dd-afa8-39309464f3f2\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":5,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":5,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":5,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_11\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":67,\"w\":16,\"h\":18,\"i\":\"a3049ec4-3c48-4a43-9899-99c018670773\"},\"panelIndex\":\"a3049ec4-3c48-4a43-9899-99c018670773\",\"embeddableConfig\":{},\"panelRefName\":\"panel_12\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":16,\"y\":67,\"w\":32,\"h\":18,\"i\":\"7efb9ae4-4913-4ae3-a945-0d83e27377d3\"},\"panelIndex\":\"7efb9ae4-4913-4ae3-a945-0d83e27377d3\",\"embeddableConfig\":{},\"panelRefName\":\"panel_13\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":103,\"w\":48,\"h\":23,\"i\":\"1d1b2b12-c510-4b9e-9fbe-b65a2946fe13\"},\"panelIndex\":\"1d1b2b12-c510-4b9e-9fbe-b65a2946fe13\",\"embeddableConfig\":{\"sort\":[[\"firstPacket\",\"asc\"]]},\"panelRefName\":\"panel_14\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":126,\"w\":48,\"h\":15,\"i\":\"99311c07-fbae-4197-ab3f-f8ddf89deefc\"},\"panelIndex\":\"99311c07-fbae-4197-ab3f-f8ddf89deefc\",\"embeddableConfig\":{},\"panelRefName\":\"panel_15\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":141,\"w\":48,\"h\":15,\"i\":\"f50e3c18-31ce-482f-b6a0-c99215b5b5e9\"},\"panelIndex\":\"f50e3c18-31ce-482f-b6a0-c99215b5b5e9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_16\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":156,\"w\":48,\"h\":19,\"i\":\"3711221b-ce64-447a-886b-6ad2c50322f9\"},\"panelIndex\":\"3711221b-ce64-447a-886b-6ad2c50322f9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_17\"}]",
+        "panelsJSON": "[{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":0,\"w\":8,\"h\":30,\"i\":\"2\"},\"panelIndex\":\"2\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":85,\"w\":48,\"h\":18,\"i\":\"14\"},\"panelIndex\":\"14\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":32,\"y\":23,\"w\":8,\"h\":18,\"i\":\"15\"},\"panelIndex\":\"15\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"panelRefName\":\"panel_2\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":40,\"y\":23,\"w\":8,\"h\":18,\"i\":\"16\"},\"panelIndex\":\"16\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"panelRefName\":\"panel_3\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":8,\"y\":23,\"w\":11,\"h\":18,\"i\":\"18\"},\"panelIndex\":\"18\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":30,\"w\":8,\"h\":11,\"i\":\"19\"},\"panelIndex\":\"19\",\"embeddableConfig\":{\"legendOpen\":true,\"table\":null,\"vis\":{\"legendOpen\":true}},\"panelRefName\":\"panel_5\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":8,\"y\":0,\"w\":11,\"h\":23,\"i\":\"90799aa8-a1f5-4f22-8ebd-fcc89d16f6de\"},\"panelIndex\":\"90799aa8-a1f5-4f22-8ebd-fcc89d16f6de\",\"embeddableConfig\":{},\"panelRefName\":\"panel_6\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":19,\"y\":0,\"w\":29,\"h\":23,\"i\":\"218010cf-a0d9-4864-815b-f562bb67949d\"},\"panelIndex\":\"218010cf-a0d9-4864-815b-f562bb67949d\",\"embeddableConfig\":{},\"panelRefName\":\"panel_7\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":19,\"y\":23,\"w\":13,\"h\":18,\"i\":\"5fd617f5-e213-4c2b-ae10-7a1643e739a7\"},\"panelIndex\":\"5fd617f5-e213-4c2b-ae10-7a1643e739a7\",\"embeddableConfig\":{},\"panelRefName\":\"panel_8\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":41,\"w\":16,\"h\":26,\"i\":\"f8941a7d-be4b-4782-b72b-808645d02139\"},\"panelIndex\":\"f8941a7d-be4b-4782-b72b-808645d02139\",\"embeddableConfig\":{},\"panelRefName\":\"panel_9\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":16,\"y\":41,\"w\":16,\"h\":26,\"i\":\"c0d7fb2c-a651-4054-b4cd-026d9f34ad44\"},\"panelIndex\":\"c0d7fb2c-a651-4054-b4cd-026d9f34ad44\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":4,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":4,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":4,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_10\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":32,\"y\":41,\"w\":16,\"h\":26,\"i\":\"502f22a6-2e5c-44dd-afa8-39309464f3f2\"},\"panelIndex\":\"502f22a6-2e5c-44dd-afa8-39309464f3f2\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":5,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":5,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":5,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_11\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":67,\"w\":16,\"h\":18,\"i\":\"a3049ec4-3c48-4a43-9899-99c018670773\"},\"panelIndex\":\"a3049ec4-3c48-4a43-9899-99c018670773\",\"embeddableConfig\":{},\"panelRefName\":\"panel_12\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":16,\"y\":67,\"w\":32,\"h\":18,\"i\":\"7efb9ae4-4913-4ae3-a945-0d83e27377d3\"},\"panelIndex\":\"7efb9ae4-4913-4ae3-a945-0d83e27377d3\",\"embeddableConfig\":{},\"panelRefName\":\"panel_13\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":103,\"w\":48,\"h\":23,\"i\":\"1d1b2b12-c510-4b9e-9fbe-b65a2946fe13\"},\"panelIndex\":\"1d1b2b12-c510-4b9e-9fbe-b65a2946fe13\",\"embeddableConfig\":{\"sort\":[[\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"asc\"]]},\"panelRefName\":\"panel_14\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":126,\"w\":48,\"h\":15,\"i\":\"99311c07-fbae-4197-ab3f-f8ddf89deefc\"},\"panelIndex\":\"99311c07-fbae-4197-ab3f-f8ddf89deefc\",\"embeddableConfig\":{},\"panelRefName\":\"panel_15\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":141,\"w\":48,\"h\":15,\"i\":\"f50e3c18-31ce-482f-b6a0-c99215b5b5e9\"},\"panelIndex\":\"f50e3c18-31ce-482f-b6a0-c99215b5b5e9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_16\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":156,\"w\":48,\"h\":19,\"i\":\"3711221b-ce64-447a-886b-6ad2c50322f9\"},\"panelIndex\":\"3711221b-ce64-447a-886b-6ad2c50322f9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_17\"}]",
         "optionsJSON": "{\"useMargins\":true}",
         "version": 1,
         "timeRestore": false,
@@ -165,7 +165,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -344,7 +344,7 @@
       "version": "WzE0MCwxXQ==",
       "attributes": {
         "title": "Modbus - Logs Over Time",
-        "visState": "{\"title\":\"Modbus - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:33:54.363Z\",\"max\":\"2021-01-14T16:33:54.363Z\"}},\"label\":\"firstPacket per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
+        "visState": "{\"title\":\"Modbus - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:33:54.363Z\",\"max\":\"2021-01-14T16:33:54.363Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "Modbus Logs over Time",
         "version": 1,
@@ -567,7 +567,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -611,7 +611,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -656,7 +656,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -704,7 +704,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -743,7 +743,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -827,7 +827,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
index 073c2d86f..bcd964578 100644
--- a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
+++ b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json
@@ -145,7 +145,7 @@
       "version": "WzExNDksMV0=",
       "attributes": {
         "title": "OSPF - Log Count Over Time",
-        "visState": "{\"title\":\"OSPF - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2021-03-01T05:59:45.424Z\",\"to\":\"2021-03-01T06:03:07.090Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol_version\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Version\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"OSPF - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2021-03-01T05:59:45.424Z\",\"to\":\"2021-03-01T06:03:07.090Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol_version\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Version\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
index fe6f46e35..b8206ee94 100644
--- a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
index c23d35ca3..a97af6c77 100644
--- a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
+++ b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json
@@ -95,7 +95,7 @@
       "version": "WzE2MywxXQ==",
       "attributes": {
         "title": "Weird - Log Count Over Time",
-        "visState": "{\"title\":\"Weird - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"firstPacket per 12 hours\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"interpolate\":\"linear\",\"legendPosition\":\"right\",\"radiusRatio\":9,\"scale\":\"linear\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\" \"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"mode\":\"normal\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"setYExtents\":false,\"showCircles\":true,\"times\":[],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\" \"},\"type\":\"value\"}],\"type\":\"histogram\",\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"Weird - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"interpolate\":\"linear\",\"legendPosition\":\"right\",\"radiusRatio\":9,\"scale\":\"linear\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\" \"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"mode\":\"normal\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"setYExtents\":false,\"showCircles\":true,\"times\":[],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\" \"},\"type\":\"value\"}],\"type\":\"histogram\",\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -257,7 +257,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
index c08b8db6b..6a831bcda 100644
--- a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json
@@ -154,7 +154,7 @@
       "version": "WzE3NCwxXQ==",
       "attributes": {
         "title": "EtherNet/IP - Logs Over Time",
-        "visState": "{\"title\":\"EtherNet/IP - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:48:06.557Z\",\"max\":\"2021-01-14T16:48:06.557Z\"}},\"label\":\"firstPacket per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
+        "visState": "{\"title\":\"EtherNet/IP - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:48:06.557Z\",\"max\":\"2021-01-14T16:48:06.557Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "",
         "version": 1,
@@ -376,7 +376,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -419,7 +419,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -463,7 +463,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -505,7 +505,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
index 2c471f762..2efe353b4 100644
--- a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json
@@ -164,7 +164,7 @@
       "version": "WzE5NSwxXQ==",
       "attributes": {
         "title": "BACnet - Logs Over Time",
-        "visState": "{\"title\":\"BACnet - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:39:09.309Z\",\"max\":\"2021-01-14T16:39:09.309Z\"}},\"label\":\"firstPacket per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
+        "visState": "{\"title\":\"BACnet - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:39:09.309Z\",\"max\":\"2021-01-14T16:39:09.309Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "BACnet Logs over Time",
         "version": 1,
@@ -442,7 +442,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -485,7 +485,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -527,7 +527,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
index 0f1e10a33..a1f6c52b3 100644
--- a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
+++ b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json
@@ -175,7 +175,7 @@
       "version": "WzIxMCwxXQ==",
       "attributes": {
         "title": "Synchrophasor - Log Count Over Time",
-        "visState": "{\"title\":\"Synchrophasor - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\"\"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"Synchrophasor - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\"\"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -505,7 +505,7 @@
       "version": "Wzk1MCwxXQ==",
       "attributes": {
         "title": "Synchrophasor - Rate of Change of Frequency Over Time",
-        "visState": "{\"title\":\"Synchrophasor - Rate of Change of Frequency Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"zeek.synchrophasor_data_detail.rocof\",\"customLabel\":\"ROCOF (Hz/sec * 100)\"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\"Count\"},\"schema\":\"radius\"}],\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"ROCOF (Hz/sec * 100)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"line\",\"mode\":\"stacked\",\"data\":{\"label\":\"ROCOF (Hz/sec * 100)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":false,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"radiusRatio\":25}}",
+        "visState": "{\"title\":\"Synchrophasor - Rate of Change of Frequency Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"zeek.synchrophasor_data_detail.rocof\",\"customLabel\":\"ROCOF (Hz/sec * 100)\"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\"Count\"},\"schema\":\"radius\"}],\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"ROCOF (Hz/sec * 100)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"line\",\"mode\":\"stacked\",\"data\":{\"label\":\"ROCOF (Hz/sec * 100)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":false,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"radiusRatio\":25}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -535,7 +535,7 @@
       "version": "Wzk0OCwxXQ==",
       "attributes": {
         "title": "Synchrophasor - Frequency Deviation From Nominal Over Time",
-        "visState": "{\"title\":\"Synchrophasor - Frequency Deviation From Nominal Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"zeek.synchrophasor_data_detail.freq_dev_mhz\",\"customLabel\":\"Maximum frequency deviation from nominal (mHz)\"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"log\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Maximum frequency deviation from nominal (mHz)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Maximum frequency deviation from nominal (mHz)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"Synchrophasor - Frequency Deviation From Nominal Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"zeek.synchrophasor_data_detail.freq_dev_mhz\",\"customLabel\":\"Maximum frequency deviation from nominal (mHz)\"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"log\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Maximum frequency deviation from nominal (mHz)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Maximum frequency deviation from nominal (mHz)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
index 84c997390..a6934fea2 100644
--- a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
+++ b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json
@@ -249,7 +249,7 @@
       "updated_at": "2021-05-11T12:24:17.423Z",
       "version": "WzM1NSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"DNS - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 30 minutes\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"DNS - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 minutes\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "DNS - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -501,7 +501,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
index 85ff935ff..340240a7e 100644
--- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
+++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json
@@ -86,7 +86,7 @@
       "updated_at": "2021-02-10T21:24:21.144Z",
       "version": "WzMyOSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"DHCP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"DHCP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "DHCP - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -365,7 +365,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
index 8b46aff5b..2a8ec6840 100644
--- a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json
@@ -107,7 +107,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -167,7 +167,7 @@
       "version": "WzM1NiwxXQ==",
       "attributes": {
         "title": "Tabular Data Stream - RPC Log Count Over Time",
-        "visState": "{\"title\":\"Tabular Data Stream - RPC Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}",
+        "visState": "{\"title\":\"Tabular Data Stream - RPC Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
index fef185cc5..123f1f771 100644
--- a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
+++ b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json
@@ -13,7 +13,7 @@
         "title": "Zeek Intelligence",
         "hits": 0,
         "description": "",
-        "panelsJSON": "[{\"embeddableConfig\":{},\"gridData\":{\"h\":26,\"i\":\"2\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"2\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"legendOpen\":false}},\"gridData\":{\"h\":8,\"i\":\"3\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"3\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"5\",\"w\":16,\"x\":8,\"y\":8},\"panelIndex\":\"5\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_2\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"6\",\"w\":15,\"x\":33,\"y\":26},\"panelIndex\":\"6\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_3\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"7\",\"w\":13,\"x\":14,\"y\":44},\"panelIndex\":\"7\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_4\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"8\",\"w\":21,\"x\":27,\"y\":44},\"panelIndex\":\"8\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_5\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"11\",\"w\":25,\"x\":8,\"y\":26},\"panelIndex\":\"11\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_6\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"12\",\"w\":14,\"x\":0,\"y\":44},\"panelIndex\":\"12\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_7\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"13\",\"w\":8,\"x\":0,\"y\":26},\"panelIndex\":\"13\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_8\"},{\"embeddableConfig\":{\"columns\":[\"source.ip\",\"destination.ip\",\"destination.port\",\"zeek.intel.seen_indicator\",\"zeek.intel.seen_indicator_type\",\"zeek.intel.sources\",\"zeek.intel.seen_where\",\"event.id\"],\"sort\":[\"firstPacket\",\"desc\"]},\"gridData\":{\"h\":24,\"i\":\"14\",\"w\":48,\"x\":0,\"y\":62},\"panelIndex\":\"14\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_9\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"16\",\"w\":24,\"x\":24,\"y\":8},\"panelIndex\":\"16\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_10\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":8,\"i\":\"17\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"17\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_11\"}]",
+        "panelsJSON": "[{\"embeddableConfig\":{},\"gridData\":{\"h\":26,\"i\":\"2\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"2\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"legendOpen\":false}},\"gridData\":{\"h\":8,\"i\":\"3\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"3\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"5\",\"w\":16,\"x\":8,\"y\":8},\"panelIndex\":\"5\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_2\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"6\",\"w\":15,\"x\":33,\"y\":26},\"panelIndex\":\"6\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_3\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"7\",\"w\":13,\"x\":14,\"y\":44},\"panelIndex\":\"7\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_4\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"8\",\"w\":21,\"x\":27,\"y\":44},\"panelIndex\":\"8\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_5\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"11\",\"w\":25,\"x\":8,\"y\":26},\"panelIndex\":\"11\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_6\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"12\",\"w\":14,\"x\":0,\"y\":44},\"panelIndex\":\"12\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_7\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"13\",\"w\":8,\"x\":0,\"y\":26},\"panelIndex\":\"13\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_8\"},{\"embeddableConfig\":{\"columns\":[\"source.ip\",\"destination.ip\",\"destination.port\",\"zeek.intel.seen_indicator\",\"zeek.intel.seen_indicator_type\",\"zeek.intel.sources\",\"zeek.intel.seen_where\",\"event.id\"],\"sort\":[\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"desc\"]},\"gridData\":{\"h\":24,\"i\":\"14\",\"w\":48,\"x\":0,\"y\":62},\"panelIndex\":\"14\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_9\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"16\",\"w\":24,\"x\":24,\"y\":8},\"panelIndex\":\"16\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_10\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":8,\"i\":\"17\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"17\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_11\"}]",
         "optionsJSON": "{\"useMargins\":true}",
         "version": 1,
         "timeRestore": false,
@@ -120,7 +120,7 @@
       "version": "Wzk5OCwxXQ==",
       "attributes": {
         "title": "Intel - Log Count Over Time",
-        "visState": "{\"title\":\"Intel - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"Intel - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -361,7 +361,7 @@
       "attributes": {
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
index 037344c46..6f899ce01 100644
--- a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
+++ b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json
@@ -150,7 +150,7 @@
       "version": "WzI3NywxXQ==",
       "attributes": {
         "title": "HTTP - Status Over Time",
-        "visState": "{\"title\":\"HTTP - Status Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"zeek.http.status_msg\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Status Code\"},\"schema\":\"group\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"firstPacket per 12 hours\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-12T16:47:29.688Z\",\"max\":\"2020-02-12T16:47:29.689Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Status Code\",\"aggType\":\"terms\"}]},\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"interpolate\":\"linear\",\"labels\":{\"show\":true},\"legendPosition\":\"bottom\",\"radiusRatio\":9,\"scale\":\"linear\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"mode\":\"stacked\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"setYExtents\":false,\"showCircles\":true,\"thresholdLine\":{\"color\":\"#E7664C\",\"show\":false,\"style\":\"full\",\"value\":10,\"width\":1},\"times\":[],\"type\":\"histogram\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"square root\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"\"},\"type\":\"value\"}]}}",
+        "visState": "{\"title\":\"HTTP - Status Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"zeek.http.status_msg\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Status Code\"},\"schema\":\"group\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-12T16:47:29.688Z\",\"max\":\"2020-02-12T16:47:29.689Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Status Code\",\"aggType\":\"terms\"}]},\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"interpolate\":\"linear\",\"labels\":{\"show\":true},\"legendPosition\":\"bottom\",\"radiusRatio\":9,\"scale\":\"linear\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"mode\":\"stacked\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"setYExtents\":false,\"showCircles\":true,\"thresholdLine\":{\"color\":\"#E7664C\",\"show\":false,\"style\":\"full\",\"value\":10,\"width\":1},\"times\":[],\"type\":\"histogram\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"square root\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"\"},\"type\":\"value\"}]}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -612,7 +612,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -642,7 +642,7 @@
       "version": "Wzk1MywxXQ==",
       "attributes": {
         "title": "HTTP - Method and Status",
-        "visState": "{\"title\":\"HTTP - Method and Status\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.result\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Method\\\", \\\"Status\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"HTTP - Method and Status\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.result\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Method\\\", \\\"Status\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
index b2855ae48..0494646a7 100644
--- a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
index 3325c8e0b..0f8d69764 100644
--- a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
+++ b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json
@@ -124,7 +124,7 @@
       "updated_at": "2021-11-12T19:32:24.674Z",
       "version": "WzQ0MiwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"SMB - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per minute\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"SMB - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per minute\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "SMB - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -468,7 +468,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -510,7 +510,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
index af8f8fdc5..71e7efefe 100644
--- a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
+++ b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json
@@ -119,7 +119,7 @@
       "updated_at": "2021-02-10T21:24:27.443Z",
       "version": "WzQzNywxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"DCE/RPC - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 30 minutes\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"DCE/RPC - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 minutes\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "DCE/RPC - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -433,7 +433,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
index 1ad2919e4..07b3051a7 100644
--- a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
+++ b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json
@@ -135,7 +135,7 @@
       "version": "WzEyNDcsMV0=",
       "attributes": {
         "title": "EtherCAT - Log Count Over Time",
-        "visState": "{\"title\":\"EtherCAT - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2021-03-01T05:59:58.120Z\",\"to\":\"2021-03-01T06:00:51.365Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Operation\"},\"schema\":\"group\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"filter\":true,\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false},\"labels\":{\"show\":false},\"legendPosition\":\"bottom\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"mode\":\"stacked\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"thresholdLine\":{\"color\":\"#E7664C\",\"show\":false,\"style\":\"full\",\"value\":10,\"width\":1},\"times\":[],\"type\":\"histogram\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"\"},\"type\":\"value\"}]}}",
+        "visState": "{\"title\":\"EtherCAT - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2021-03-01T05:59:58.120Z\",\"to\":\"2021-03-01T06:00:51.365Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Operation\"},\"schema\":\"group\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"filter\":true,\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false},\"labels\":{\"show\":false},\"legendPosition\":\"bottom\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"mode\":\"stacked\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"thresholdLine\":{\"color\":\"#E7664C\",\"show\":false,\"style\":\"full\",\"value\":10,\"width\":1},\"times\":[],\"type\":\"histogram\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"\"},\"type\":\"value\"}]}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
index c5c3ba13c..65b3d609d 100644
--- a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
+++ b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json
@@ -145,7 +145,7 @@
       "version": "WzQ1MSwxXQ==",
       "attributes": {
         "title": "ICS/IoT Traffic Over Time",
-        "visState": "{\"title\":\"ICS/IoT Traffic Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#34130C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-04T15:18:33.141Z\",\"max\":\"2020-02-04T15:18:33.141Z\"}},\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-44y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"}}]}",
+        "visState": "{\"title\":\"ICS/IoT Traffic Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#34130C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-04T15:18:33.141Z\",\"max\":\"2020-02-04T15:18:33.141Z\"}},\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-44y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"}}]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -397,7 +397,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -441,7 +441,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -483,7 +483,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
index 47c9a857d..0dd1a359e 100644
--- a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
+++ b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json
@@ -109,7 +109,7 @@
       "updated_at": "2023-11-14T19:18:39.742Z",
       "version": "WzM1NCwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"SNMP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"SNMP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "SNMP - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -333,7 +333,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -363,7 +363,7 @@
       "version": "Wzk1MSwxXQ==",
       "attributes": {
         "title": "SNMP - Version and PDU Type",
-        "visState": "{\"title\":\"SNMP - Version and PDU Type\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"network.protocol_version\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"SNMP Version\\\", \\\"Action\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol_version\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"SNMP - Version and PDU Type\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"network.protocol_version\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"SNMP Version\\\", \\\"Action\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol_version\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
index d5ed0a385..7c9590cfa 100644
--- a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
+++ b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json
@@ -67,7 +67,7 @@
       "version": "WzIyNjEsMV0=",
       "attributes": {
         "title": "MySQL - Log Count Over Time",
-        "visState": "{\"title\":\"MySQL - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"zeek.mysql.cmd\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Command\"},\"schema\":\"group\"}],\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-12T17:52:43.825Z\",\"max\":\"2020-02-12T17:52:43.825Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Command\",\"aggType\":\"terms\"}]}}}",
+        "visState": "{\"title\":\"MySQL - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"zeek.mysql.cmd\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Command\"},\"schema\":\"group\"}],\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-12T17:52:43.825Z\",\"max\":\"2020-02-12T17:52:43.825Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Command\",\"aggType\":\"terms\"}]}}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -222,7 +222,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
index ef67fc815..c1a32a920 100644
--- a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
+++ b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json
@@ -119,7 +119,7 @@
       "updated_at": "2021-02-10T21:24:31.603Z",
       "version": "WzQ4MSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"NTLM - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per minute\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"NTLM - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per minute\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "NTLM - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -435,7 +435,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
index afe5a2eb4..bb8112815 100644
--- a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -114,7 +114,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
index 0bd547249..292dc28f2 100644
--- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
+++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json
@@ -150,7 +150,7 @@
       "version": "WzM5MCwxXQ==",
       "attributes": {
         "title": "Alerts - Log Count Over Time",
-        "visState": "{\"title\":\"Alerts - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"Alerts - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
index 07b55b7fb..41106a81e 100644
--- a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
+++ b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
index 5d40fb575..625bd0ecf 100644
--- a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
+++ b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json
@@ -100,7 +100,7 @@
       "version": "WzM2NSwxXQ==",
       "attributes": {
         "title": "Signatures - Log Count Over Time",
-        "visState": "{\"title\":\"Signatures - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}",
+        "visState": "{\"title\":\"Signatures - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -170,7 +170,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
index 205f303a3..74a772b37 100644
--- a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
+++ b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json
@@ -583,7 +583,7 @@
       "version": "WzQzMSwxXQ==",
       "attributes": {
         "title": "Cross Segment Traffic",
-        "visState": "{\"title\":\"Cross Segment Traffic\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"source.segment.name\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"destination.segment.name\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Source Segment\\\", \\\"Destination Segment\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"source.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"destination.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"Cross Segment Traffic\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"source.segment.name\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"destination.segment.name\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Source Segment\\\", \\\"Destination Segment\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"source.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"destination.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
index d53132306..49b1454f3 100644
--- a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
+++ b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json
@@ -104,7 +104,7 @@
       "updated_at": "2021-02-10T21:24:36.060Z",
       "version": "WzUxMSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"IRC - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"IRC - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "IRC - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -328,7 +328,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
index 2f3e70e89..0086705a9 100644
--- a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
index c5ccb502b..e0c944d52 100644
--- a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
+++ b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json
@@ -114,7 +114,7 @@
       "updated_at": "2021-02-10T21:24:38.098Z",
       "version": "WzUyNywxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"RDP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"RDP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "RDP - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -400,7 +400,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
index 59fc58138..a4bb946bf 100644
--- a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
+++ b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json
@@ -149,7 +149,7 @@
       "updated_at": "2021-10-12T14:14:37.087Z",
       "version": "WzM3MSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"SSL - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"SSL - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "SSL - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -645,7 +645,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -687,7 +687,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
index 2a14155c0..07e08af3f 100644
--- a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
+++ b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json
@@ -129,7 +129,7 @@
       "updated_at": "2021-02-10T21:24:40.130Z",
       "version": "WzU2MSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"Kerberos - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"Kerberos - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "Kerberos - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -503,7 +503,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
index 09479edc7..f6dc287dc 100644
--- a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
+++ b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json
@@ -274,7 +274,7 @@
       "version": "WzU4MSwxXQ==",
       "attributes": {
         "title": "DNP3 - Logs Over Time",
-        "visState": "{\"title\":\"DNP3 - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:42:16.432Z\",\"max\":\"2021-01-14T16:42:16.432Z\"}},\"label\":\"firstPacket per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
+        "visState": "{\"title\":\"DNP3 - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:42:16.432Z\",\"max\":\"2021-01-14T16:42:16.432Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "DNP3 logs over time",
         "version": 1,
@@ -406,7 +406,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -448,7 +448,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -491,7 +491,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
index d18342d85..6c84e6043 100644
--- a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
+++ b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json
@@ -145,7 +145,7 @@
       "version": "WzU5MSwxXQ==",
       "attributes": {
         "title": "MQTT - Log Count Over Time",
-        "visState": "{\"title\":\"MQTT - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"MQTT Message Type\"}}]}",
+        "visState": "{\"title\":\"MQTT - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"MQTT Message Type\"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -396,7 +396,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -439,7 +439,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -482,7 +482,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -525,7 +525,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
index 979d1b4c4..92073bf69 100644
--- a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
+++ b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json
@@ -84,7 +84,7 @@
       "updated_at": "2021-02-10T21:24:43.189Z",
       "version": "WzYwNSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"Software - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"Software - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "Software - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
index d1c09ca1a..85dc96edb 100644
--- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
+++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json
@@ -566,7 +566,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
index 5b281bb0f..71e242be5 100644
--- a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
+++ b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json
@@ -109,7 +109,7 @@
       "updated_at": "2021-02-10T21:24:44.215Z",
       "version": "WzYxMSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"Syslog - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 30 seconds\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"Syslog - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 seconds\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "Syslog - Log Count Over Time",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
@@ -363,7 +363,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
index 373fc5337..5d977f3c8 100644
--- a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
+++ b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json
@@ -213,7 +213,7 @@
       "version": "WzU2MSwxXQ==",
       "attributes": {
         "title": "Vulnerabilities",
-        "visState": "{\"title\":\"Vulnerabilities\",\"type\":\"table\",\"aggs\":[{\"id\":\"5\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"firstPacket\",\"customLabel\":\"Last Seen\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.provider\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":20,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Data Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Type\"},\"schema\":\"bucket\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"vulnerability.id\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":200,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Vulnerability ID\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
+        "visState": "{\"title\":\"Vulnerabilities\",\"type\":\"table\",\"aggs\":[{\"id\":\"5\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"customLabel\":\"Last Seen\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.provider\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":20,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Data Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Type\"},\"schema\":\"bucket\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"vulnerability.id\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":200,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Vulnerability ID\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}",
         "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":3,\"direction\":\"desc\"}}}}",
         "description": "",
         "version": 1,
@@ -272,7 +272,7 @@
       "version": "WzU2MywxXQ==",
       "attributes": {
         "title": "Inbound Access By Protocol Over Time",
-        "visState": "{\"title\":\"Inbound Access By Protocol Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":true,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#34130C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-01-28T18:52:45.953Z\",\"max\":\"2020-01-28T18:52:45.953Z\"}},\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}}}",
+        "visState": "{\"title\":\"Inbound Access By Protocol Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":true,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#34130C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-01-28T18:52:45.953Z\",\"max\":\"2020-01-28T18:52:45.953Z\"}},\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "",
         "version": 1,
@@ -504,7 +504,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -545,7 +545,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
index 74bd123dc..4e502b7c2 100644
--- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
+++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json
@@ -86,7 +86,7 @@
       "updated_at": "2022-01-27T18:58:50.233Z",
       "version": "WzUwMSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"Files - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"Files - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "Files - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -360,7 +360,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/Vega.Sankey.txt b/dashboards/dashboards/Vega.Sankey.txt
index 0181028d3..3376e8a6e 100644
--- a/dashboards/dashboards/Vega.Sankey.txt
+++ b/dashboards/dashboards/Vega.Sankey.txt
@@ -9,7 +9,7 @@
       name: rawData
       url: {
         %context%: true
-        %timefield%: firstPacket
+        %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER
         index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER
         body: {
           size: 0
diff --git a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
index 982cf50fd..76a377638 100644
--- a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
index 375fba702..223281735 100644
--- a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
+++ b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json
@@ -134,7 +134,7 @@
       "version": "WzU5NCwxXQ==",
       "attributes": {
         "title": "Total Log Count Over Time by Application Protocol",
-        "visState": "{\"title\":\"Total Log Count Over Time by Application Protocol\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1996-01-14T21:31:46.075Z\",\"max\":\"2021-01-14T21:31:46.075Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Application Protocol\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":8,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Application Protocol\"}}]}",
+        "visState": "{\"title\":\"Total Log Count Over Time by Application Protocol\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1996-01-14T21:31:46.075Z\",\"max\":\"2021-01-14T21:31:46.075Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Application Protocol\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":8,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Application Protocol\"}}]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -193,7 +193,7 @@
       "version": "Wzk1OSwxXQ==",
       "attributes": {
         "title": "Top Actions by Service",
-        "visState": "{\"title\":\"Top Actions by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"network.protocol\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Action\\\", \\\"Protocol\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"Top Actions by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"event.action\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"network.protocol\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Action\\\", \\\"Protocol\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"left\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -216,7 +216,7 @@
       "version": "Wzk2MCwxXQ==",
       "attributes": {
         "title": "Top Results by Service",
-        "visState": "{\"title\":\"Top Results by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: firstPacket\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"network.protocol\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.result\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Protocol\\\", \\\"Result\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"right\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
+        "visState": "{\"title\":\"Top Results by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n  // thanks to:\\n  // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n  // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n  $schema: https://vega.github.io/schema/vega/v3.0.json\\n  data: [\\n    {\\n      // query ES based on the currently selected time range and filter string\\n      name: rawData\\n      url: {\\n        %context%: true\\n        %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n        index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n        body: {\\n          size: 0\\n          aggs: {\\n            table: {\\n              composite: {\\n                size: 10000\\n                sources: [\\n                  {\\n                    stk1: {\\n                      terms: {field: \\\"network.protocol\\\"}\\n                    }\\n                  }\\n                  {\\n                    stk2: {\\n                      terms: {field: \\\"event.result\\\"}\\n                    }\\n                  }\\n                ]\\n              }\\n            }\\n          }\\n        }\\n      }\\n      // From the result, take just the data we are interested in\\n      format: {property: \\\"aggregations.table.buckets\\\"}\\n      // Convert key.stk1 -> stk1 for simpler access below\\n      transform: [\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n        {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n      ]\\n    }\\n    {\\n      name: nodes\\n      source: rawData\\n      transform: [\\n        // when a value is selected, filter out unrelated data\\n        {\\n          type: filter\\n          expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n        }\\n        // Set new key for later lookups - identifies each node\\n        {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n        // instead of each table row, create two new rows,\\n        // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n        // The values stored in stk1 and stk2 fields is placed into grpId field.\\n        {\\n          type: fold\\n          fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n          as: [\\\"stack\\\", \\\"grpId\\\"]\\n        }\\n        // Create a sortkey, different for stk1 and stk2 stacks.\\n        // Space separator ensures proper sort order in some corner cases.\\n        {\\n          type: formula\\n          expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n          as: sortField\\n        }\\n        // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n        // independently for each stack, and ensuring they are in the proper order,\\n        // alphabetical from the top (reversed on the y axis)\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n          field: size\\n        }\\n        // calculate vertical center point for each node, used to draw edges\\n        {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n      ]\\n    }\\n    {\\n      name: groups\\n      source: nodes\\n      transform: [\\n        // combine all nodes into groups, summing up the doc counts\\n        {\\n          type: aggregate\\n          groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n          fields: [\\\"size\\\"]\\n          ops: [\\\"sum\\\"]\\n          as: [\\\"total\\\"]\\n        }\\n        // re-calculate the stacking y0,y1 values\\n        {\\n          type: stack\\n          groupby: [\\\"stack\\\"]\\n          sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n          field: total\\n        }\\n        // project y0 and y1 values to screen coordinates\\n        // doing it once here instead of doing it several times in marks\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n        {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n        // boolean flag if the label should be on the right of the stack\\n        {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n        // Calculate percentage for this value using \\\"y\\\" scale\\n        // domain upper bound, which represents the total\\n        {\\n          type: formula\\n          expr: datum.total/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n    {\\n      // This is a temp lookup table with all the 'stk2' stack nodes\\n      name: destinationNodes\\n      source: nodes\\n      transform: [\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n      ]\\n    }\\n    {\\n      name: edges\\n      source: nodes\\n      transform: [\\n        // we only want nodes from the left stack\\n        {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n        // find corresponding node from the right stack, keep it as \\\"target\\\"\\n        {\\n          type: lookup\\n          from: destinationNodes\\n          key: key\\n          fields: [\\\"key\\\"]\\n          as: [\\\"target\\\"]\\n        }\\n        // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n        {\\n          type: linkpath\\n          orient: horizontal\\n          shape: diagonal\\n          sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n          sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n          targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n          targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n        }\\n        // A little trick to calculate the thickness of the line.\\n        // The value needs to be the same as the hight of the node, but scaling\\n        // size to screen's height gives inversed value because screen's Y\\n        // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n        // is at the bottom. So subtracting scaled doc count from screen height\\n        // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n        {\\n          type: formula\\n          expr: range('y')[0]-scale('y', datum.size)\\n          as: strokeWidth\\n        }\\n        // Tooltip needs individual link's percentage of all values\\n        {\\n          type: formula\\n          expr: datum.size/domain('y')[1]\\n          as: percentage\\n        }\\n      ]\\n    }\\n  ]\\n  scales: [\\n    {\\n      // calculates horizontal stack positioning\\n      name: x\\n      type: band\\n      range: width\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n      paddingOuter: 0.05\\n      paddingInner: 0.95\\n    }\\n    {\\n      // this scale goes up as high as the highest y1 value of all nodes\\n      name: y\\n      type: linear\\n      range: height\\n      domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n    }\\n    {\\n      // use rawData to ensure the colors stay the same when clicking.\\n      name: color\\n      type: ordinal\\n      range: category\\n      domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n    }\\n    {\\n      // this scale is used to map internal ids (stk1, stk2) to stack names\\n      name: stackNames\\n      type: ordinal\\n      range: [\\\"Protocol\\\", \\\"Result\\\"]\\n      domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n    }\\n  ]\\n  axes: [\\n    {\\n      // x axis should use custom label formatting to print proper stack names\\n      orient: bottom\\n      scale: x\\n      encode: {\\n        labels: {\\n          update: {\\n            text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n          }\\n        }\\n      }\\n    }\\n    {orient: \\\"right\\\", scale: \\\"y\\\"}\\n  ]\\n  marks: [\\n    {\\n      // draw the connecting line between stacks\\n      type: path\\n      name: edgeMark\\n      from: {data: \\\"edges\\\"}\\n      // this prevents some autosizing issues with large strokeWidth for paths\\n      clip: true\\n      encode: {\\n        update: {\\n          // By default use color of the left node, except when showing contributors\\n          // from just one value, in which case use destination color.\\n          stroke: [\\n            {\\n              test: groupSelector && groupSelector.stack=='stk1'\\n              scale: color\\n              field: stk2\\n            }\\n            {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n          ]\\n          strokeWidth: {field: \\\"strokeWidth\\\"}\\n          path: {field: \\\"path\\\"}\\n          // when showing all data, and hovering over a value,\\n          // highlight the contributors for that value\\n          strokeOpacity: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n          }\\n          // Ensure that the hover-selected edges show on top\\n          zindex: {\\n            signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n          }\\n          // format tooltip string\\n          tooltip: {\\n            signal: datum.stk1 + ' → ' + datum.stk2 + '    ' + format(datum.size, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        // Simple mouseover highlighting of a single line\\n        hover: {\\n          strokeOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw stack groups (countries)\\n      type: rect\\n      name: groupMark\\n      from: {data: \\\"groups\\\"}\\n      encode: {\\n        enter: {\\n          fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n          width: {scale: \\\"x\\\", band: 1}\\n        }\\n        update: {\\n          x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n          y: {field: \\\"scaledY0\\\"}\\n          y2: {field: \\\"scaledY1\\\"}\\n          fillOpacity: {value: 0.6}\\n          tooltip: {\\n            signal: datum.grpId + '   ' + format(datum.total, ',.0f') + '   (' + format(datum.percentage, '.1%') + ')'\\n          }\\n        }\\n        hover: {\\n          fillOpacity: {value: 1}\\n        }\\n      }\\n    }\\n    {\\n      // draw labels on the inner side of the stack\\n      type: text\\n      from: {data: \\\"groups\\\"}\\n      // don't process events for the labels - otherwise line mouseover is unclean\\n      interactive: false\\n      encode: {\\n        update: {\\n          // depending on which stack it is, position x with some padding\\n          x: {\\n            signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n          }\\n          // middle of the group\\n          yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n          align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n          baseline: {value: \\\"middle\\\"}\\n          fontWeight: {value: \\\"bold\\\"}\\n          // only show text label if the group's height is large enough\\n          text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n        }\\n      }\\n    }\\n    {\\n      // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n      type: group\\n      data: [\\n        // We need to make the button show only when groupSelector signal is true.\\n        // Each mark is drawn as many times as there are elements in the backing data.\\n        // Which means that if values list is empty, it will not be drawn.\\n        // Here I create a data source with one empty object, and filter that list\\n        // based on the signal value. This can only be done in a group.\\n        {\\n          name: dataForShowAll\\n          values: [{}]\\n          transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n        }\\n      ]\\n      // Set button size and positioning\\n      encode: {\\n        enter: {\\n          xc: {signal: \\\"width/2\\\"}\\n          y: {value: 30}\\n          width: {value: 80}\\n          height: {value: 30}\\n        }\\n      }\\n      marks: [\\n        {\\n          // This group is shown as a button with rounded corners.\\n          type: group\\n          // mark name allows signal capturing\\n          name: groupReset\\n          // Only shows button if dataForShowAll has values.\\n          from: {data: \\\"dataForShowAll\\\"}\\n          encode: {\\n            enter: {\\n              cornerRadius: {value: 6}\\n              fill: {value: \\\"#f5f5f5\\\"}\\n              stroke: {value: \\\"#c1c1c1\\\"}\\n              strokeWidth: {value: 2}\\n              // use parent group's size\\n              height: {\\n                field: {group: \\\"height\\\"}\\n              }\\n              width: {\\n                field: {group: \\\"width\\\"}\\n              }\\n            }\\n            update: {\\n              // groups are transparent by default\\n              opacity: {value: 1}\\n            }\\n            hover: {\\n              opacity: {value: 0.7}\\n            }\\n          }\\n          marks: [\\n            {\\n              type: text\\n              // if true, it will prevent clicking on the button when over text.\\n              interactive: false\\n              encode: {\\n                enter: {\\n                  // center text in the paren group\\n                  xc: {\\n                    field: {group: \\\"width\\\"}\\n                    mult: 0.5\\n                  }\\n                  yc: {\\n                    field: {group: \\\"height\\\"}\\n                    mult: 0.5\\n                    offset: 2\\n                  }\\n                  align: {value: \\\"center\\\"}\\n                  baseline: {value: \\\"middle\\\"}\\n                  fontWeight: {value: \\\"bold\\\"}\\n                  text: {value: \\\"Show All\\\"}\\n                }\\n              }\\n            }\\n          ]\\n        }\\n      ]\\n    }\\n  ]\\n  signals: [\\n    {\\n      // used to highlight data to/from the same value\\n      name: groupHover\\n      value: {}\\n      on: [\\n        {\\n          events: @groupMark:mouseover\\n          update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n        }\\n        {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n      ]\\n    }\\n    // used to filter only the data related to the selected value\\n    {\\n      name: groupSelector\\n      value: false\\n      on: [\\n        {\\n          // Clicking groupMark sets this signal to the filter values\\n          events: @groupMark:click!\\n          update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n        }\\n        {\\n          // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n          events: [\\n            {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n            {type: \\\"dblclick\\\"}\\n          ]\\n          update: \\\"false\\\"\\n        }\\n      ]\\n    }\\n  ]\\n}\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -312,7 +312,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
index bc99e025d..cafab2e32 100644
--- a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json
@@ -144,7 +144,7 @@
       "version": "WzY2NCwxXQ==",
       "attributes": {
         "title": "PROFINET - Logs Over Time",
-        "visState": "{\"title\":\"PROFINET - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"relative\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
+        "visState": "{\"title\":\"PROFINET - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"relative\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -192,7 +192,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -416,7 +416,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -459,7 +459,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
index 94363754e..9566a0aa8 100644
--- a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
+++ b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json
@@ -190,7 +190,7 @@
       "version": "WzEzMDIsMV0=",
       "attributes": {
         "title": "Connections - Log Count Over Time",
-        "visState": "{\"title\":\"Connections - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"Connections - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -917,7 +917,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
index 2a870c85b..0c83415c8 100644
--- a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
+++ b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json
@@ -109,7 +109,7 @@
       "updated_at": "2021-11-12T19:32:50.243Z",
       "version": "WzczNSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"RADIUS - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"RADIUS - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "RADIUS - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -364,7 +364,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
index 858c224a5..98870eca5 100644
--- a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
+++ b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json
@@ -124,7 +124,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -184,7 +184,7 @@
       "version": "WzcxNywxXQ==",
       "attributes": {
         "title": "NTP - Log Count Over Time",
-        "visState": "{\"title\":\"NTP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"zeek.ntp.version\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"NTP Version\"}}]}",
+        "visState": "{\"title\":\"NTP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"zeek.ntp.version\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"NTP Version\"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
index 4c01c5b18..95f1d4f00 100644
--- a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
+++ b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
index 9c6683341..2bb713c01 100644
--- a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
index 03cfd0560..bd75ad746 100644
--- a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
+++ b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json
@@ -129,7 +129,7 @@
       "updated_at": "2021-02-10T21:24:55.450Z",
       "version": "WzczOCwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"SMTP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"SMTP - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "SMTP - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -503,7 +503,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json
index dd54b51d0..dcdf9e469 100644
--- a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json
+++ b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json
@@ -132,7 +132,7 @@
       "version": "WzkyNCwxXQ==",
       "attributes": {
         "title": "Malcolm Sensor Audit Logs - Logs Over Time by Type",
-        "visState": "{\"title\":\"Malcolm Sensor Audit Logs - Logs Over Time by Type\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"miscbeat.auditlog.type\",\"terms_size\":\"20\",\"hide_in_legend\":0,\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.module:auditlog AND miscbeat.auditlog:*\",\"language\":\"kuery\"},\"legend_position\":\"right\"}}",
+        "visState": "{\"title\":\"Malcolm Sensor Audit Logs - Logs Over Time by Type\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"miscbeat.auditlog.type\",\"terms_size\":\"20\",\"hide_in_legend\":0,\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.module:auditlog AND miscbeat.auditlog:*\",\"language\":\"kuery\"},\"legend_position\":\"right\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/beats/Metricbeat-host-overview.json b/dashboards/dashboards/beats/Metricbeat-host-overview.json
index c532cb56d..fd140606b 100644
--- a/dashboards/dashboards/beats/Metricbeat-host-overview.json
+++ b/dashboards/dashboards/beats/Metricbeat-host-overview.json
@@ -122,7 +122,7 @@
       "version": "WzEwMjgsMV0=",
       "attributes": {
         "title": "Network Traffic (Packets)",
-        "visState": "{\"title\":\"Network Traffic (Packets)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"'0a'\",\"id\":\"49931900-ebf3-11ec-a401-f5db2d59e6af\",\"label\":\"Inbound\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"49931901-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"75fba890-ebf3-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.tx\"},{\"id\":\"96daba60-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"98e138c0-ebf3-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"'0a'\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}",
+        "visState": "{\"title\":\"Network Traffic (Packets)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"'0a'\",\"id\":\"49931900-ebf3-11ec-a401-f5db2d59e6af\",\"label\":\"Inbound\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"49931901-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"75fba890-ebf3-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.tx\"},{\"id\":\"96daba60-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"98e138c0-ebf3-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"'0a'\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -145,7 +145,7 @@
       "version": "Wzg1NSwxXQ==",
       "attributes": {
         "title": "Network Traffic (Bytes)",
-        "visState": "{\"title\":\"Network Traffic (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"6d8b8ab0-ebf1-11ec-a401-f5db2d59e6af\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"6d8b8ab1-ebf1-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"label\":\"Inbound\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"b5977de0-ebf2-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.tx\"},{\"id\":\"cdfb1540-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"d1b9caf0-ebf2-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"terms_field\":\"miscbeat.network.interface\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}",
+        "visState": "{\"title\":\"Network Traffic (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"6d8b8ab0-ebf1-11ec-a401-f5db2d59e6af\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"6d8b8ab1-ebf1-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"label\":\"Inbound\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"b5977de0-ebf2-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.tx\"},{\"id\":\"cdfb1540-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"d1b9caf0-ebf2-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"terms_field\":\"miscbeat.network.interface\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -168,7 +168,7 @@
       "version": "Wzg1NiwxXQ==",
       "attributes": {
         "title": "Memory Usage",
-        "visState": "{\"title\":\"Memory Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used\",\"type\":\"avg\"},{\"id\":\"3150c580-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"34e66f60-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"usedkb\",\"field\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.usedkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Used\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(0,156,224,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"4f1bb980-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"52c168f0-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"swapkb\",\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.swapkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Swap\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.free\",\"type\":\"avg\"},{\"id\":\"61b8e450-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"6458bc80-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"freekb\",\"field\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.freekb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Free\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Memory Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used\",\"type\":\"avg\"},{\"id\":\"3150c580-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"34e66f60-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"usedkb\",\"field\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.usedkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Used\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(0,156,224,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"4f1bb980-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"52c168f0-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"swapkb\",\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.swapkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Swap\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.free\",\"type\":\"avg\"},{\"id\":\"61b8e450-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"6458bc80-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"freekb\",\"field\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.freekb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Free\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -191,7 +191,7 @@
       "version": "Wzg1NywxXQ==",
       "attributes": {
         "title": "CPU Usage",
-        "visState": "{\"title\":\"CPU Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.system_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"system\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"value_template\":\"{{value}}%\"},{\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.user_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"0.9\",\"line_width\":1,\"label\":\"user\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\"},{\"id\":\"4eb3d7b0-eb9b-11ec-8afc-039f20728581\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(46,88,242,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4eb3d7b1-eb9b-11ec-8afc-039f20728581\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"total\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\",\"hidden\":false}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"CPU Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.system_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"system\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"value_template\":\"{{value}}%\"},{\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.user_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"0.9\",\"line_width\":1,\"label\":\"user\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\"},{\"id\":\"4eb3d7b0-eb9b-11ec-8afc-039f20728581\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(46,88,242,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4eb3d7b1-eb9b-11ec-8afc-039f20728581\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"total\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\",\"hidden\":false}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -214,7 +214,7 @@
       "version": "Wzg1OCwxXQ==",
       "attributes": {
         "title": "Disk IO (Bytes)",
-        "visState": "{\"title\":\"Disk IO (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(22,165,165,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.read_size\",\"type\":\"sum\"},{\"id\":\"3be3ef00-eb99-11ec-8afc-039f20728581\",\"type\":\"math\",\"variables\":[{\"id\":\"40f00c40-eb99-11ec-8afc-039f20728581\",\"name\":\"readsize\",\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\"}],\"script\":\"0 - params.readsize\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"reads\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(251,158,0,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.write_size\",\"type\":\"sum\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"writes\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Disk IO (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(22,165,165,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.read_size\",\"type\":\"sum\"},{\"id\":\"3be3ef00-eb99-11ec-8afc-039f20728581\",\"type\":\"math\",\"variables\":[{\"id\":\"40f00c40-eb99-11ec-8afc-039f20728581\",\"name\":\"readsize\",\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\"}],\"script\":\"0 - params.readsize\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"reads\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(251,158,0,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.write_size\",\"type\":\"sum\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"writes\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -237,7 +237,7 @@
       "version": "Wzg4MSwxXQ==",
       "attributes": {
         "title": "CPU Usage Gauge",
-        "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}",
+        "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -260,7 +260,7 @@
       "version": "Wzg4MCwxXQ==",
       "attributes": {
         "title": "Memory Usage Gauge",
-        "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -283,7 +283,7 @@
       "version": "Wzk0OCwxXQ==",
       "attributes": {
         "title": "Inbound Traffic",
-        "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}",
+        "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -306,7 +306,7 @@
       "version": "Wzk1NSwxXQ==",
       "attributes": {
         "title": "Outbound Traffic",
-        "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -352,7 +352,7 @@
       "version": "Wzg2NCwxXQ==",
       "attributes": {
         "title": "Swap usage",
-        "visState": "{\"title\":\"Swap usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"filter\":\"\",\"series\":[{\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.mem.Swap.total\"},{\"id\":\"a4743e90-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"a62793e0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"used\",\"field\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\"},{\"id\":\"aaa023b0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"total\",\"field\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\"}],\"script\":\"params.used / params.total\"}],\"formatter\":\"percent\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Swap usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Swap usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"filter\":\"\",\"series\":[{\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.mem.Swap.total\"},{\"id\":\"a4743e90-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"a62793e0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"used\",\"field\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\"},{\"id\":\"aaa023b0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"total\",\"field\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\"}],\"script\":\"params.used / params.total\"}],\"formatter\":\"percent\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Swap usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -398,7 +398,7 @@
       "version": "Wzk3NSwxXQ==",
       "attributes": {
         "title": "Disk used",
-        "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}",
+        "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -421,7 +421,7 @@
       "version": "WzEwMzQsMV0=",
       "attributes": {
         "title": "Interfaces by Incoming traffic",
-        "visState": "{\"title\":\"Interfaces by Incoming traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.rx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Incoming traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Interfaces by Incoming traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.rx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Incoming traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -444,7 +444,7 @@
       "version": "WzEwMzcsMV0=",
       "attributes": {
         "title": "Interfaces by Outgoing traffic",
-        "visState": "{\"title\":\"Interfaces by Outgoing traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Outgoing traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Interfaces by Outgoing traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Outgoing traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -490,7 +490,7 @@
       "version": "WzEwMjUsMV0=",
       "attributes": {
         "title": "Network Traffic (Drops and Errors)",
-        "visState": "{\"title\":\"Network Traffic (Drops and Errors)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"77170e30-ebf4-11ec-a401-f5db2d59e6af\"}],\"label\":\"Drops In\"},{\"id\":\"e5fec770-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"e5fec771-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors In\"},{\"id\":\"ce173de0-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"ce173de1-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Drops Out\",\"color_rules\":[{\"id\":\"e3795510-ebf4-11ec-a401-f5db2d59e6af\"}]},{\"id\":\"f381f250-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"f381f251-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors Out\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"bar_color_rules\":[{\"id\":\"5eab8790-ebf4-11ec-a401-f5db2d59e6af\"}],\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"pivot_label\":\"Interface\"}}",
+        "visState": "{\"title\":\"Network Traffic (Drops and Errors)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"77170e30-ebf4-11ec-a401-f5db2d59e6af\"}],\"label\":\"Drops In\"},{\"id\":\"e5fec770-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"e5fec771-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors In\"},{\"id\":\"ce173de0-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"ce173de1-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Drops Out\",\"color_rules\":[{\"id\":\"e3795510-ebf4-11ec-a401-f5db2d59e6af\"}]},{\"id\":\"f381f250-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"f381f251-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors Out\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false,\"bar_color_rules\":[{\"id\":\"5eab8790-ebf4-11ec-a401-f5db2d59e6af\"}],\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"pivot_label\":\"Interface\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/beats/Metricbeat-system-overview.json b/dashboards/dashboards/beats/Metricbeat-system-overview.json
index a0d9aa0c3..e8bbf3ba9 100644
--- a/dashboards/dashboards/beats/Metricbeat-system-overview.json
+++ b/dashboards/dashboards/beats/Metricbeat-system-overview.json
@@ -139,7 +139,7 @@
       "version": "Wzg3NCwxXQ==",
       "attributes": {
         "title": "Top Hosts By Memory",
-        "visState": "{\"title\":\"Top Hosts By Memory\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Top Hosts By Memory\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -162,7 +162,7 @@
       "version": "Wzg3NSwxXQ==",
       "attributes": {
         "title": "Top Hosts By CPU",
-        "visState": "{\"title\":\"Top Hosts By CPU\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Top Hosts By CPU\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -214,7 +214,7 @@
       "version": "Wzk0OCwxXQ==",
       "attributes": {
         "title": "Inbound Traffic",
-        "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}",
+        "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -237,7 +237,7 @@
       "version": "Wzk1NSwxXQ==",
       "attributes": {
         "title": "Outbound Traffic",
-        "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -260,7 +260,7 @@
       "version": "Wzk3NSwxXQ==",
       "attributes": {
         "title": "Disk used",
-        "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}",
+        "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -283,7 +283,7 @@
       "version": "Wzg4MCwxXQ==",
       "attributes": {
         "title": "Memory Usage Gauge",
-        "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}",
+        "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -306,7 +306,7 @@
       "version": "Wzg4MSwxXQ==",
       "attributes": {
         "title": "CPU Usage Gauge",
-        "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}",
+        "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
index 1c9904d9e..96e640f91 100644
--- a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json
@@ -107,7 +107,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -167,7 +167,7 @@
       "version": "Wzc1NSwxXQ==",
       "attributes": {
         "title": "Tabular Data Stream - Log Count Over Time",
-        "visState": "{\"title\":\"Tabular Data Stream - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
+        "visState": "{\"title\":\"Tabular Data Stream - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -298,7 +298,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
index 84e6c2487..1aca51519 100644
--- a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
+++ b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json
@@ -135,7 +135,7 @@
       "version": "WzU3OSwxXQ==",
       "attributes": {
         "title": "TFTP - Log Count Over Time",
-        "visState": "{\"title\":\"TFTP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1996-02-04T15:21:21.768Z\",\"max\":\"2021-02-04T15:21:21.768Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Operation\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.action\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Operation\"}}]}",
+        "visState": "{\"title\":\"TFTP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1996-02-04T15:21:21.768Z\",\"max\":\"2021-02-04T15:21:21.768Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Operation\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.action\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Operation\"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "",
         "version": 1,
@@ -330,7 +330,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
index 5e954e4b1..257200e63 100644
--- a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
+++ b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json
@@ -160,7 +160,7 @@
       "version": "Wzc2OSwxXQ==",
       "attributes": {
         "title": "Telnet, rlogin and rsh - Log Count Over Time",
-        "visState": "{\"title\":\"Telnet, rlogin and rsh - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1995-04-15T15:43:18.959Z\",\"max\":\"2020-04-15T15:43:18.959Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"network.protocol: Descending\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Protocol\"}}]}",
+        "visState": "{\"title\":\"Telnet, rlogin and rsh - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1995-04-15T15:43:18.959Z\",\"max\":\"2020-04-15T15:43:18.959Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"network.protocol: Descending\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Protocol\"}}]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -294,7 +294,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
index f379f6b05..8bb95c2a7 100644
--- a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
+++ b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json
@@ -145,7 +145,7 @@
       "version": "Wzc3NywxXQ==",
       "attributes": {
         "title": "BSAP - Logs Over Time",
-        "visState": "{\"title\":\"BSAP - Logs Over Time\",\"type\":\"line\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD HH:mm\"}},\"params\":{\"date\":true,\"interval\":\"PT3H\",\"intervalESValue\":3,\"intervalESUnit\":\"h\",\"format\":\"YYYY-MM-DD HH:mm\",\"bounds\":{\"min\":\"2020-07-21T04:54:40.645Z\",\"max\":\"2020-07-27T11:08:08.319Z\"}},\"label\":\"firstPacket per 3 hours\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"event.dataset: Descending\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2020-07-21T04:54:40.645Z\",\"to\":\"2020-07-27T11:08:08.319Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"}}]}",
+        "visState": "{\"title\":\"BSAP - Logs Over Time\",\"type\":\"line\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD HH:mm\"}},\"params\":{\"date\":true,\"interval\":\"PT3H\",\"intervalESValue\":3,\"intervalESUnit\":\"h\",\"format\":\"YYYY-MM-DD HH:mm\",\"bounds\":{\"min\":\"2020-07-21T04:54:40.645Z\",\"max\":\"2020-07-27T11:08:08.319Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 3 hours\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"event.dataset: Descending\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2020-07-21T04:54:40.645Z\",\"to\":\"2020-07-27T11:08:08.319Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"}}]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -340,7 +340,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -387,7 +387,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -462,7 +462,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
index f628bde9e..03c186fb4 100644
--- a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
+++ b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json
@@ -124,7 +124,7 @@
       "updated_at": "2021-02-10T21:25:00.506Z",
       "version": "Wzc4OSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"SSH - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"SSH - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "SSH - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -469,7 +469,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
index 17f9a6c1b..5f098b3c1 100644
--- a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
+++ b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json
@@ -580,7 +580,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -622,7 +622,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -664,7 +664,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
index ac5e72581..0c7cbab75 100644
--- a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
index 43a27ddbf..b70adb2a3 100644
--- a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
+++ b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
index 73bec3d0e..811c18868 100644
--- a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
+++ b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json
@@ -160,7 +160,7 @@
       "version": "Wzc1NywxXQ==",
       "attributes": {
         "title": "OPCUA Binary - Traffic Over Time",
-        "visState": "{\"title\":\"OPCUA Binary - Traffic Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":25,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"OPCUA Binary - Traffic Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":25,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
index d472ef8df..56993492a 100644
--- a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
+++ b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
index 8b658a84a..c8720b392 100644
--- a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
+++ b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json
@@ -140,7 +140,7 @@
       "version": "Wzc0MywxXQ==",
       "attributes": {
         "title": "S7comm - Logs Over Time",
-        "visState": "{\"title\":\"S7comm - Logs Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"S7comm - Logs Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
index bd1b7bb7d..0fc1cd719 100644
--- a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
+++ b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json
@@ -114,7 +114,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
index 6d97c14ef..928d05611 100644
--- a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
+++ b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json
@@ -107,7 +107,7 @@
       "version": "Wzc0MCwxXQ==",
       "attributes": {
         "title": "Notices - Log Count Over Time",
-        "visState": "{\"title\":\"Notices - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"HH:mm:ss\"}},\"params\":{\"date\":true,\"interval\":\"PT1S\",\"intervalESValue\":1,\"intervalESUnit\":\"s\",\"format\":\"HH:mm:ss\",\"bounds\":{\"min\":\"2017-04-16T17:22:12.510Z\",\"max\":\"2017-04-16T17:23:40.195Z\"}},\"label\":\"firstPacket per second\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"-\"}},\"params\":{},\"label\":\"Notice Category\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2017-04-16T17:22:12.510Z\",\"to\":\"2017-04-16T17:23:40.195Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"rule.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Notice Category\"}}]}",
+        "visState": "{\"title\":\"Notices - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"HH:mm:ss\"}},\"params\":{\"date\":true,\"interval\":\"PT1S\",\"intervalESValue\":1,\"intervalESUnit\":\"s\",\"format\":\"HH:mm:ss\",\"bounds\":{\"min\":\"2017-04-16T17:22:12.510Z\",\"max\":\"2017-04-16T17:23:40.195Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per second\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"-\"}},\"params\":{},\"label\":\"Notice Category\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2017-04-16T17:22:12.510Z\",\"to\":\"2017-04-16T17:23:40.195Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"rule.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Notice Category\"}}]}",
         "uiStateJSON": "{}",
         "description": "",
         "version": 1,
@@ -412,7 +412,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
index af52c8ca0..345c38ac8 100644
--- a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
+++ b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json
@@ -186,7 +186,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
index 9e65b0dba..e97f57f71 100644
--- a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
+++ b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json
@@ -124,7 +124,7 @@
       "updated_at": "2021-02-10T21:25:08.611Z",
       "version": "Wzg1OSwxXQ==",
       "attributes": {
-        "visState": "{\"title\":\"RFB - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
+        "visState": "{\"title\":\"RFB - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}",
         "description": "",
         "title": "RFB - Log Count Over Time",
         "uiStateJSON": "{}",
@@ -469,7 +469,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
index 93142ab14..6521f41dc 100644
--- a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
+++ b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json
@@ -112,7 +112,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
@@ -172,7 +172,7 @@
       "version": "Wzg3NSwxXQ==",
       "attributes": {
         "title": "Tabular Data Stream - SQL Log Count Over Time",
-        "visState": "{\"title\":\"Tabular Data Stream - SQL Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}",
+        "visState": "{\"title\":\"Tabular Data Stream - SQL Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
diff --git a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
index 851e81269..bb04c03aa 100644
--- a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
+++ b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json
@@ -155,7 +155,7 @@
       "version": "WzkzOSwxXQ==",
       "attributes": {
         "title": "STUN - Log Count Over Time",
-        "visState": "{\"title\":\"STUN - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2021-02-26T20:25:47.478Z\",\"to\":\"2021-03-02T15:19:14.457Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true,\"interpolate\":\"linear\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
+        "visState": "{\"title\":\"STUN - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2021-02-26T20:25:47.478Z\",\"to\":\"2021-03-02T15:19:14.457Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true,\"interpolate\":\"linear\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}",
         "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}",
         "description": "",
         "version": 1,
@@ -520,7 +520,7 @@
         ],
         "sort": [
           [
-            "firstPacket",
+            "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER",
             "desc"
           ]
         ],
diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/create-arkime-sessions-index.sh
index 1039a686a..0af4afb7e 100755
--- a/dashboards/scripts/create-arkime-sessions-index.sh
+++ b/dashboards/scripts/create-arkime-sessions-index.sh
@@ -8,6 +8,8 @@ shopt -s nocasematch
 DASHB_URL=${DASHBOARDS_URL:-"http://dashboards:5601/dashboards"}
 INDEX_PATTERN=${MALCOLM_NETWORK_INDEX_PATTERN:-"arkime_sessions3-*"}
 INDEX_TIME_FIELD=${MALCOLM_NETWORK_INDEX_TIME_FIELD:-"firstPacket"}
+OTHER_INDEX_PATTERN=${MALCOLM_OTHER_INDEX_PATTERN:-"malcolm_beats_*"}
+OTHER_INDEX_TIME_FIELD=${MALCOLM_OTHER_INDEX_TIME_FIELD:-"@timestamp"}
 DUMMY_DETECTOR_NAME=${DUMMY_DETECTOR_NAME:-"malcolm_init_dummy"}
 DARK_MODE=${DASHBOARDS_DARKMODE:-"true"}
 
@@ -22,6 +24,19 @@ ISM_SNAPSHOT_COMPRESSED=${ISM_SNAPSHOT_COMPRESSED:-"false"}
 OPENSEARCH_PRIMARY=${OPENSEARCH_PRIMARY:-"opensearch-local"}
 OPENSEARCH_SECONDARY=${OPENSEARCH_SECONDARY:-""}
 
+function DoReplacersInFile() {
+  # Index pattern and time field name may be specified via environment variable, but need
+  #   to be reflected in dashboards, templates, anomaly detectors, etc.
+  # This function takes a file and performs that replacement.
+  REPLFILE="$1"
+  if [[ -n "$REPLFILE" ]] && [[ -f "$REPLFILE" ]]; then
+    sed -i "s/MALCOLM_NETWORK_INDEX_PATTERN_REPLACER/${INDEX_PATTERN}/g" "${REPLFILE}" || true
+    sed -i "s/MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER/${INDEX_TIME_FIELD}/g" "${REPLFILE}" || true
+    sed -i "s/MALCOLM_OTHER_INDEX_PATTERN_REPLACER/${OTHER_INDEX_PATTERN}/g" "${REPLFILE}" || true
+    sed -i "s/MALCOLM_OTHER_INDEX_TIME_FIELD_REPLACER/${OTHER_INDEX_TIME_FIELD}/g" "${REPLFILE}" || true
+  fi
+}
+
 # is the argument to automatically create this index enabled?
 if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
 
@@ -92,9 +107,16 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
             || true
         fi
 
+        TEMPLATES_IMPORT_DIR="$(mktemp -d -t templates-XXXXXX)"
+        rsync -a "$MALCOLM_TEMPLATES_DIR"/ "$TEMPLATES_IMPORT_DIR"/
+        while IFS= read -r fname; do
+            DoReplacersInFile "$fname"
+        done < <( find "$TEMPLATES_IMPORT_DIR"/ -type f 2>/dev/null )
+        MALCOLM_TEMPLATE_FILE_ORIG_TMP="$(echo "$MALCOLM_TEMPLATE_FILE_ORIG" | sed "s@$MALCOLM_TEMPLATES_DIR@$TEMPLATES_IMPORT_DIR@")"
+
         # calculate combined SHA sum of all templates to save as _meta.hash to determine if
         # we need to do this import (mostly useful for the secondary loop)
-        TEMPLATE_HASH="$(find "$ECS_TEMPLATES_DIR"/composable "$MALCOLM_TEMPLATES_DIR" -type f -name "*.json" -size +2c 2>/dev/null | sort | xargs -r cat | sha256sum | awk '{print $1}')"
+        TEMPLATE_HASH="$(find "$ECS_TEMPLATES_DIR"/composable "$TEMPLATES_IMPORT_DIR" -type f -name "*.json" -size +2c 2>/dev/null | sort | xargs -r cat | sha256sum | awk '{print $1}')"
 
         # get the previous stored template hash (if any) to avoid importing if it's already been imported
         set +e
@@ -118,9 +140,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
             done
           fi
 
-          if [[ -d "$MALCOLM_TEMPLATES_DIR"/composable/component ]]; then
+          if [[ -d "$TEMPLATES_IMPORT_DIR"/composable/component ]]; then
             echo "Importing custom ECS composable templates..."
-            for i in "$MALCOLM_TEMPLATES_DIR"/composable/component/*.json; do
+            for i in "$TEMPLATES_IMPORT_DIR"/composable/component/*.json; do
               TEMP_BASENAME="$(basename "$i")"
               TEMP_FILENAME="${TEMP_BASENAME%.*}"
               echo "Importing custom ECS composable template $TEMP_FILENAME ..."
@@ -130,8 +152,8 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
 
           echo "Importing malcolm_template ($TEMPLATE_HASH)..."
 
-          if [[ -f "$MALCOLM_TEMPLATE_FILE_ORIG" ]] && [[ ! -f "$MALCOLM_TEMPLATE_FILE" ]]; then
-            cp "$MALCOLM_TEMPLATE_FILE_ORIG" "$MALCOLM_TEMPLATE_FILE"
+          if [[ -f "$MALCOLM_TEMPLATE_FILE_ORIG_TMP" ]] && [[ ! -f "$MALCOLM_TEMPLATE_FILE" ]]; then
+            cp "$MALCOLM_TEMPLATE_FILE_ORIG_TMP" "$MALCOLM_TEMPLATE_FILE"
           fi
 
           # store the TEMPLATE_HASH we calculated earlier as the _meta.hash for the malcolm template
@@ -146,7 +168,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
             "$OPENSEARCH_URL_TO_USE/_index_template/malcolm_template" -d "@$MALCOLM_TEMPLATE_FILE" 2>&1
 
           # import other templates as well (and get info for creating their index patterns)
-          for i in "$MALCOLM_TEMPLATES_DIR"/*.json; do
+          for i in "$TEMPLATES_IMPORT_DIR"/*.json; do
             TEMP_BASENAME="$(basename "$i")"
             TEMP_FILENAME="${TEMP_BASENAME%.*}"
             if [[ "$TEMP_FILENAME" != "malcolm_template" ]]; then
@@ -163,6 +185,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
           echo "malcolm_template ($TEMPLATE_HASH) already exists ($LOOP) at \"${OPENSEARCH_URL_TO_USE}\""
 
         fi # TEMPLATE_HASH check
+        rm -rf "${TEMPLATES_IMPORT_DIR}"
 
         if [[ "$LOOP" == "primary" ]]; then
           echo "Importing index pattern..."
@@ -202,17 +225,22 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
               # take care of a few other substitutions
               sed -i 's/opensearchDashboardsAddFilter/kibanaAddFilter/g' "$i"
             fi
+            DoReplacersInFile "$i"
             curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i"
           done
           rm -rf "${DASHBOARDS_IMPORT_DIR}"
 
-          # beats will no longer import its dashbaords into OpenSearch
+          # beats will no longer import its dashboards into OpenSearch
           # (see opensearch-project/OpenSearch-Dashboards#656 and
           # opensearch-project/OpenSearch-Dashboards#831). As such, we're going to
           # manually add load our dashboards in /opt/dashboards/beats as well.
-          for i in /opt/dashboards/beats/*.json; do
+          BEATS_DASHBOARDS_IMPORT_DIR="$(mktemp -d -t beats-XXXXXX)"
+          cp /opt/dashboards/beats/*.json "${BEATS_DASHBOARDS_IMPORT_DIR}"/
+          for i in "${BEATS_DASHBOARDS_IMPORT_DIR}"/*.json; do
+            DoReplacersInFile "$i"
             curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i"
           done
+          rm -rf "${BEATS_DASHBOARDS_IMPORT_DIR}"
 
           echo "$DATASTORE_TYPE Dashboards saved objects import complete!"
 
@@ -246,9 +274,13 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
             echo "Creating $DATASTORE_TYPE anomaly detectors..."
 
             # Create anomaly detectors here
-            for i in /opt/anomaly_detectors/*.json; do
+            ANOMALY_IMPORT_DIR="$(mktemp -d -t anomaly-XXXXXX)"
+            cp /opt/anomaly_detectors/*.json "${ANOMALY_IMPORT_DIR}"/
+            for i in "${ANOMALY_IMPORT_DIR}"/*.json; do
+              DoReplacersInFile "$i"
               curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i"
             done
+            rm -rf "${ANOMALY_IMPORT_DIR}"
 
             # trigger a start/stop for the dummy detector to make sure the .opendistro-anomaly-detection-state index gets created
             # see:
@@ -283,9 +315,13 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
             done
 
             # monitors
-            for i in /opt/alerting/monitors/*.json; do
+            ALERTING_IMPORT_DIR="$(mktemp -d -t alerting-XXXXXX)"
+            cp /opt/alerting/monitors/*.json "${ALERTING_IMPORT_DIR}"/
+            for i in "${ALERTING_IMPORT_DIR}"/*.json; do
+              DoReplacersInFile "$i"
               curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_alerting/monitors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i"
             done
+            rm -rf "${ALERTING_IMPORT_DIR}"
 
             echo "$DATASTORE_TYPE alerting objects creation complete!"
 

From 0b535f3924fed9cc082cb06af9c12f30f2b0b86c Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 10 Jan 2024 16:30:48 -0700
Subject: [PATCH 69/88] allow overriding destination index for Zeek and
 Suricata logs, work in progress, idaholab/Malcolm#313

---
 Dockerfiles/dashboards-helper.Dockerfile      | 10 ++++++-
 .../scripts/create-arkime-sessions-index.sh   | 29 ++++++++++++-------
 2 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile
index b7e17c98b..9426311f1 100644
--- a/Dockerfiles/dashboards-helper.Dockerfile
+++ b/Dockerfiles/dashboards-helper.Dockerfile
@@ -84,7 +84,15 @@ RUN apk update --no-cache && \
       find /opt/ecs-templates-os -name "*.json" -exec sed -i 's/\("type"[[:space:]]*:[[:space:]]*\)"flattened"/\1"nested"/' "{}" \; && \
       find /opt/ecs-templates-os -name "*.json" -exec sed -i 's/\("type"[[:space:]]*:[[:space:]]*\)"number"/\1"long"/' "{}" \; && \
       rm -rf /opt/ecs && \
-    chown -R ${PUSER}:${PGROUP} /opt/dashboards /opt/templates /opt/ecs-templates /opt/ecs-templates-os /opt/maps /data/init /opt/anomaly_detectors && \
+    chown -R ${PUSER}:${PGROUP} /data/init \
+                                /opt/alerting \
+                                /opt/anomaly_detectors \
+                                /opt/dashboards \
+                                /opt/ecs-templates \
+                                /opt/ecs-templates-os \
+                                /opt/maps \
+                                /opt/notifications \
+                                /opt/templates && \
     chmod 755 /data/*.sh /data/*.py /data/init && \
     chmod 400 /opt/maps/* && \
     (echo -e "*/2 * * * * /data/create-arkime-sessions-index.sh\n0 10 * * * /data/index-refresh.py --template malcolm_template --unassigned\n30 */2 * * * /data/index-refresh.py --index 'malcolm_beats_*' --template malcolm_beats_template --unassigned\n*/20 * * * * /data/opensearch_index_size_prune.py" > ${SUPERCRONIC_CRONTAB})
diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/create-arkime-sessions-index.sh
index 0af4afb7e..02c3dea46 100755
--- a/dashboards/scripts/create-arkime-sessions-index.sh
+++ b/dashboards/scripts/create-arkime-sessions-index.sh
@@ -37,6 +37,15 @@ function DoReplacersInFile() {
   fi
 }
 
+function DoReplacersForDir() {
+  REPLDIR="$1"
+  if [[ -n "$REPLDIR" ]] && [[ -d "$REPLDIR" ]]; then
+    while IFS= read -r fname; do
+        DoReplacersInFile "$fname"
+    done < <( find "$REPLDIR"/ -type f 2>/dev/null )
+  fi
+}
+
 # is the argument to automatically create this index enabled?
 if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
 
@@ -109,9 +118,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
 
         TEMPLATES_IMPORT_DIR="$(mktemp -d -t templates-XXXXXX)"
         rsync -a "$MALCOLM_TEMPLATES_DIR"/ "$TEMPLATES_IMPORT_DIR"/
-        while IFS= read -r fname; do
-            DoReplacersInFile "$fname"
-        done < <( find "$TEMPLATES_IMPORT_DIR"/ -type f 2>/dev/null )
+        DoReplacersForDir "$TEMPLATES_IMPORT_DIR"
         MALCOLM_TEMPLATE_FILE_ORIG_TMP="$(echo "$MALCOLM_TEMPLATE_FILE_ORIG" | sed "s@$MALCOLM_TEMPLATES_DIR@$TEMPLATES_IMPORT_DIR@")"
 
         # calculate combined SHA sum of all templates to save as _meta.hash to determine if
@@ -217,7 +224,8 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
 
           # install default dashboards
           DASHBOARDS_IMPORT_DIR="$(mktemp -d -t dashboards-XXXXXX)"
-          cp /opt/dashboards/*.json "${DASHBOARDS_IMPORT_DIR}"/
+          rsync -a /opt/dashboards/ "$DASHBOARDS_IMPORT_DIR"/
+          DoReplacersForDir "$DASHBOARDS_IMPORT_DIR"/
           for i in "${DASHBOARDS_IMPORT_DIR}"/*.json; do
             if [[ "$DATASTORE_TYPE" == "elasticsearch" ]]; then
               # strip out Arkime and NetBox links from dashboards' navigation pane when doing Kibana import (idaholab/Malcolm#286)
@@ -225,7 +233,6 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
               # take care of a few other substitutions
               sed -i 's/opensearchDashboardsAddFilter/kibanaAddFilter/g' "$i"
             fi
-            DoReplacersInFile "$i"
             curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i"
           done
           rm -rf "${DASHBOARDS_IMPORT_DIR}"
@@ -235,9 +242,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
           # opensearch-project/OpenSearch-Dashboards#831). As such, we're going to
           # manually add load our dashboards in /opt/dashboards/beats as well.
           BEATS_DASHBOARDS_IMPORT_DIR="$(mktemp -d -t beats-XXXXXX)"
-          cp /opt/dashboards/beats/*.json "${BEATS_DASHBOARDS_IMPORT_DIR}"/
+          rsync -a /opt/dashboards/beats/ "$BEATS_DASHBOARDS_IMPORT_DIR"/
+          DoReplacersForDir "$BEATS_DASHBOARDS_IMPORT_DIR"
           for i in "${BEATS_DASHBOARDS_IMPORT_DIR}"/*.json; do
-            DoReplacersInFile "$i"
             curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i"
           done
           rm -rf "${BEATS_DASHBOARDS_IMPORT_DIR}"
@@ -275,9 +282,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
 
             # Create anomaly detectors here
             ANOMALY_IMPORT_DIR="$(mktemp -d -t anomaly-XXXXXX)"
-            cp /opt/anomaly_detectors/*.json "${ANOMALY_IMPORT_DIR}"/
+            rsync -a /opt/anomaly_detectors/ "$ANOMALY_IMPORT_DIR"/
+            DoReplacersForDir "$ANOMALY_IMPORT_DIR"
             for i in "${ANOMALY_IMPORT_DIR}"/*.json; do
-              DoReplacersInFile "$i"
               curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i"
             done
             rm -rf "${ANOMALY_IMPORT_DIR}"
@@ -316,9 +323,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then
 
             # monitors
             ALERTING_IMPORT_DIR="$(mktemp -d -t alerting-XXXXXX)"
-            cp /opt/alerting/monitors/*.json "${ALERTING_IMPORT_DIR}"/
+            rsync -a /opt/alerting/monitors/ "$ALERTING_IMPORT_DIR"/
+            DoReplacersForDir "$ALERTING_IMPORT_DIR"
             for i in "${ALERTING_IMPORT_DIR}"/*.json; do
-              DoReplacersInFile "$i"
               curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_alerting/monitors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i"
             done
             rm -rf "${ALERTING_IMPORT_DIR}"

From 7733c727b2f415083e417f1d93adb81937b62b41 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 11 Jan 2024 07:37:57 -0700
Subject: [PATCH 70/88] don't copy .example env files to every config directory

---
 scripts/install.py | 23 ++++++++---------------
 1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/scripts/install.py b/scripts/install.py
index c662a4b49..7a6c61f90 100755
--- a/scripts/install.py
+++ b/scripts/install.py
@@ -1416,21 +1416,14 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
 
         # modify values in .env files in args.configDir
 
-        # first, if the args.configDir is completely empty, then populate from defaults
-        examplesConfigDir = os.path.join(malcolm_install_path, 'config')
-        if (
-            os.path.isdir(examplesConfigDir)
-            and (not same_file_or_dir(examplesConfigDir, args.configDir))
-            and (not os.listdir(args.configDir))
-        ):
-            for defaultEnvExampleFile in glob.glob(os.path.join(examplesConfigDir, '*.env.example')):
-                shutil.copy2(defaultEnvExampleFile, args.configDir)
-
-        # if a specific config/*.env file doesn't exist, use the *.example.env files as defaults
-        for envExampleFile in glob.glob(os.path.join(args.configDir, '*.env.example')):
-            envFile = envExampleFile[: -len('.example')]
-            if not os.path.isfile(envFile):
-                shutil.copyfile(envExampleFile, envFile)
+        # if a specific *.env file doesn't exist, use the config/*.example.env files as defaults
+        if os.path.isdir(examplesConfigDir := os.path.join(malcolm_install_path, 'config')):
+            for envExampleFile in glob.glob(os.path.join(examplesConfigDir, '*.env.example')):
+                envFile = os.path.join(args.configDir, os.path.basename(envExampleFile[: -len('.example')]))
+                if not os.path.isfile(envFile):
+                    if args.debug:
+                        eprint(f"Creating {envFile} from {envExampleFile}")
+                    shutil.copyfile(envExampleFile, envFile)
 
         # define environment variables to be set in .env files
         EnvValue = namedtuple("EnvValue", ["envFile", "key", "value"], rename=False)

From 4ae1187be1ab64db9c19e02e2a28e11356c323f2 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 11 Jan 2024 08:35:05 -0700
Subject: [PATCH 71/88] customizing index settings work in progress,
 idaholab/Malcolm#313 and idaholab/Malcolm#283

---
 arkime/scripts/docker_entrypoint.sh           |  2 +
 config/arkime.env.example                     |  7 +++-
 config/opensearch.env.example                 |  2 +
 logstash/pipelines/beats/98_finalize.conf     | 42 +++++++++++++------
 .../pipelines/enrichment/98_finalize.conf     | 11 ++++-
 .../external/99_opensearch_output.conf        |  2 +-
 .../output/99_opensearch_output.conf          |  2 +-
 .../interface/sensor_ctl/control_vars.conf    |  1 +
 .../supervisor.init/arkime_config_populate.sh |  5 +++
 9 files changed, 56 insertions(+), 18 deletions(-)

diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh
index ddea2fc2f..8f94bfa94 100755
--- a/arkime/scripts/docker_entrypoint.sh
+++ b/arkime/scripts/docker_entrypoint.sh
@@ -13,6 +13,7 @@ ARKIME_RULES_DIR=${ARKIME_RULES_DIR:-"/opt/arkime/rules"}
 ARKIME_CONFIG_FILE="${ARKIME_DIR}"/etc/config.ini
 ARKIME_PASSWORD_SECRET=${ARKIME_PASSWORD_SECRET:-"Malcolm"}
 ARKIME_FREESPACEG=${ARKIME_FREESPACEG:-"10%"}
+ARKIME_ROTATE_INDEX=${ARKIME_ROTATE_INDEX:-"daily"}
 CAPTURE_INTERFACE=${PCAP_IFACE:-}
 LIVE_CAPTURE=${ARKIME_LIVE_CAPTURE:-false}
 VIEWER_PORT=${ARKIME_VIEWER_PORT:-8005}
@@ -58,6 +59,7 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i
     sed -i "s|^\(elasticsearch=\).*|\1"${OPENSEARCH_URL_FINAL}"|" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(passwordSecret=\).*/\1"${ARKIME_PASSWORD_SECRET}"/" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(freeSpaceG=\).*/\1"${ARKIME_FREESPACEG}"/" "${ARKIME_CONFIG_FILE}"
+    sed -i "s/^\(rotateIndex=\).*/\1"${ARKIME_ROTATE_INDEX}"/" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(viewPort=\).*/\1"${VIEWER_PORT}"/" "${ARKIME_CONFIG_FILE}"
     sed -i "s/^\(pcapDir=\).*/\1\/data\/pcap\/arkime-live/" "${ARKIME_CONFIG_FILE}"
     # note: when setting the node name, the viewer_service.sh script needs to match
diff --git a/config/arkime.env.example b/config/arkime.env.example
index 3df6ecfc1..c3afc8271 100644
--- a/config/arkime.env.example
+++ b/config/arkime.env.example
@@ -1,7 +1,10 @@
 ARKIME_VIEWER_PORT=8005
-# Whether or not Arkime is allowed to delete uploaded/captured PCAP (see
-#   https://arkime.com/faq#pcap-deletion)
+# Whether or not Arkime is allowed to delete uploaded/captured PCAP
+#   https://arkime.com/faq#pcap-deletion
 MANAGE_PCAP_FILES=false
 ARKIME_FREESPACEG=10%
+# How often to create a new index in OpenSearch/Elasticsearch
+#   https://arkime.com/settings#rotateIndex
+ARKIME_ROTATE_INDEX=daily
 
 OPENSEARCH_MAX_SHARDS_PER_NODE=2500
\ No newline at end of file
diff --git a/config/opensearch.env.example b/config/opensearch.env.example
index fbdf87a17..e9322a433 100644
--- a/config/opensearch.env.example
+++ b/config/opensearch.env.example
@@ -44,8 +44,10 @@ OPENSEARCH_JAVA_OPTS=-server -Xms10g -Xmx10g -Xss256k -XX:-HeapDumpOnOutOfMemory
 # OpenSearch index patterns and timestamp fields
 MALCOLM_NETWORK_INDEX_PATTERN=arkime_sessions3-*
 MALCOLM_NETWORK_INDEX_TIME_FIELD=firstPacket
+MALCOLM_NETWORK_INDEX_SUFFIX=-%{+YYMMdd}
 MALCOLM_OTHER_INDEX_PATTERN=malcolm_beats_*
 MALCOLM_OTHER_INDEX_TIME_FIELD=@timestamp
+MALCOLM_OTHER_INDEX_SUFFIX=-%{+YYMMdd}
 ARKIME_NETWORK_INDEX_PATTERN=arkime_sessions3-*
 ARKIME_NETWORK_INDEX_TIME_FIELD=firstPacket
 
diff --git a/logstash/pipelines/beats/98_finalize.conf b/logstash/pipelines/beats/98_finalize.conf
index 4cdafa7a6..fe0d56542 100644
--- a/logstash/pipelines/beats/98_finalize.conf
+++ b/logstash/pipelines/beats/98_finalize.conf
@@ -107,19 +107,35 @@ filter {
       }
     }
 
-    # this field is used to determine opensearch index prefix
-    if ([event][module]) {
-      mutate { id => "mutate_add_malcolm_beats_index_prefix_event_module"
-               add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "malcolm_beats_%{[event][module]}" } }
-    } else if ([agent][type]) {
-      mutate { id => "mutate_add_malcolm_beats_index_prefix_agent_type"
-               add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "malcolm_beats_%{[agent][type]}" } }
-    } else if ([input][type]) {
-      mutate { id => "mutate_add_malcolm_beats_index_prefix_input_type"
-               add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "malcolm_beats_%{[input][type]}" } }
-    } else {
-      mutate { id => "mutate_add_malcolm_beats_index_prefix_beats"
-               add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "malcolm_beats_" } }
+    # these fields are used to determine opensearch index format
+    if (![@metadata][malcolm_opensearch_index_prefix]) {
+      ruby {
+        id => "rube_add_beats_logs_index_prefix"
+        init => "$indexPrefix = ENV['MALCOLM_OTHER_INDEX_PATTERN'].sub(/[\*_-]*$/, '')"
+        code => "
+          ipref = ($indexPrefix.nil? || $indexPrefix.empty?) ? 'malcolm_beats' : $indexPrefix
+          icat = event.get('[event][module]')
+          if icat.nil? then
+            icat = event.get('[agent][type]')
+            if icat.nil? then
+              icat = event.get('[input][type]')
+              if icat.nil? then
+                icat = 'malcolm_beats_'
+              end
+            end
+          end
+          event.set('[@metadata][malcolm_opensearch_index_prefix]', ipref + '_' + icat)
+        "
+      }
+    }
+    if (![@metadata][malcolm_opensearch_index_suffix]) {
+      ruby {
+        id => "rube_add_beats_logs_index_suffix"
+        init => "$indexSuffix = ENV['MALCOLM_OTHER_INDEX_PATTERN']"
+        code => "
+          event.set('[@metadata][malcolm_opensearch_index_suffix]', ($indexSuffix.nil? || $indexSuffix.empty?) ? '-%{+YYMMdd}' : $indexSuffix)
+        "
+      }
     }
 
 
diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf
index 51ec8f212..8bfaff8a5 100644
--- a/logstash/pipelines/enrichment/98_finalize.conf
+++ b/logstash/pipelines/enrichment/98_finalize.conf
@@ -4,7 +4,7 @@
 
 filter {
 
-    # this field is used to determine opensearch index prefix
+    # these fields are used to determine opensearch index format
     if (![@metadata][malcolm_opensearch_index_prefix]) {
       ruby {
         id => "rube_add_network_logs_index_prefix"
@@ -14,6 +14,15 @@ filter {
         "
       }
     }
+    if (![@metadata][malcolm_opensearch_index_suffix]) {
+      ruby {
+        id => "rube_add_network_logs_index_suffix"
+        init => "$indexSuffix = ENV['MALCOLM_NETWORK_INDEX_SUFFIX']"
+        code => "
+          event.set('[@metadata][malcolm_opensearch_index_suffix]', ($indexSuffix.nil? || $indexSuffix.empty?) ? '-%{+YYMMdd}' : $indexSuffix)
+        "
+      }
+    }
 
     # event.hash is used for document ID, it really needed to be set by now
     if (![event][hash]) {
diff --git a/logstash/pipelines/external/99_opensearch_output.conf b/logstash/pipelines/external/99_opensearch_output.conf
index 2c750669e..a0e8d251d 100644
--- a/logstash/pipelines/external/99_opensearch_output.conf
+++ b/logstash/pipelines/external/99_opensearch_output.conf
@@ -6,7 +6,7 @@ output {
     user => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_USER_"
     password => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_PASSWORD_"
     manage_template => false
-    index => "%{[@metadata][malcolm_opensearch_index_prefix]}-%{+YYMMdd}"
+    index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix}"
     document_id => "%{+YYMMdd}-%{[event][hash]}"
   }
 }
diff --git a/logstash/pipelines/output/99_opensearch_output.conf b/logstash/pipelines/output/99_opensearch_output.conf
index 34125fefd..7de474d14 100644
--- a/logstash/pipelines/output/99_opensearch_output.conf
+++ b/logstash/pipelines/output/99_opensearch_output.conf
@@ -6,7 +6,7 @@ output {
     user => "_MALCOLM_LOGSTASH_OPENSEARCH_USER_"
     password => "_MALCOLM_LOGSTASH_OPENSEARCH_PASSWORD_"
     manage_template => false
-    index => "%{[@metadata][malcolm_opensearch_index_prefix]}-%{+YYMMdd}"
+    index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix}"
     document_id => "%{+YYMMdd}-%{[event][hash]}"
   }
 }
diff --git a/sensor-iso/interface/sensor_ctl/control_vars.conf b/sensor-iso/interface/sensor_ctl/control_vars.conf
index d821c64d8..7d72f4d18 100644
--- a/sensor-iso/interface/sensor_ctl/control_vars.conf
+++ b/sensor-iso/interface/sensor_ctl/control_vars.conf
@@ -23,6 +23,7 @@ export ARKIME_VIEWER_KEY=viewer.key
 # Password hash secret for Arkime viewer cluster (see https://arkime.com/settings)
 export ARKIME_PASSWORD_SECRET=Malcolm
 export ARKIME_FREESPACEG=7%
+export ARKIME_ROTATE_INDEX=daily
 
 export DOCUMENTATION_PORT=8420
 export MISCBEAT_PORT=9516
diff --git a/sensor-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh b/sensor-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh
index fd7c32ce2..0a627c95f 100644
--- a/sensor-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh
+++ b/sensor-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh
@@ -78,6 +78,11 @@ if [[ -n $SUPERVISOR_PATH ]] && [[ -r "$SUPERVISOR_PATH"/arkime/config.ini ]]; t
     sed -r -i "s/(simpleGzipLevel)\s*=\s*.*/\1=$COMPRESSION_LEVEL/" "$ARKIME_CONFIG_FILE"
   fi
 
+  # how often OpenSearch/Elasticsearch should create a new index
+  if [[ -n $ARKIME_ROTATE_INDEX ]]; then
+    sed -r -i "s/(rotateIndex)\s*=\s*.*/\1=$ARKIME_ROTATE_INDEX/" "$ARKIME_CONFIG_FILE"
+  fi
+
   # identify node in session metadata for PCAP reachback
   PRIMARY_IP=$(ip route get 255.255.255.255 | grep -Po '(?<=src )(\d{1,3}.){4}' | sed "s/ //g")
   export ARKIME_NODE_NAME="$(hostname --long)"

From d9e00b9a68142134187ff1cd59d414d2e41b7c82 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 11 Jan 2024 08:51:24 -0700
Subject: [PATCH 72/88] customizing index settings work in progress,
 idaholab/Malcolm#313 and idaholab/Malcolm#283

---
 logstash/pipelines/external/99_opensearch_output.conf | 2 +-
 logstash/pipelines/output/99_opensearch_output.conf   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/logstash/pipelines/external/99_opensearch_output.conf b/logstash/pipelines/external/99_opensearch_output.conf
index a0e8d251d..dc3ed38ef 100644
--- a/logstash/pipelines/external/99_opensearch_output.conf
+++ b/logstash/pipelines/external/99_opensearch_output.conf
@@ -6,7 +6,7 @@ output {
     user => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_USER_"
     password => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_PASSWORD_"
     manage_template => false
-    index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix}"
+    index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix]}"
     document_id => "%{+YYMMdd}-%{[event][hash]}"
   }
 }
diff --git a/logstash/pipelines/output/99_opensearch_output.conf b/logstash/pipelines/output/99_opensearch_output.conf
index 7de474d14..3250fa920 100644
--- a/logstash/pipelines/output/99_opensearch_output.conf
+++ b/logstash/pipelines/output/99_opensearch_output.conf
@@ -6,7 +6,7 @@ output {
     user => "_MALCOLM_LOGSTASH_OPENSEARCH_USER_"
     password => "_MALCOLM_LOGSTASH_OPENSEARCH_PASSWORD_"
     manage_template => false
-    index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix}"
+    index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix]}"
     document_id => "%{+YYMMdd}-%{[event][hash]}"
   }
 }

From 86e35989cc8c890106b3c8956bb6e7e6731abf52 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 11 Jan 2024 12:00:21 -0700
Subject: [PATCH 73/88] customizing index settings work in progress,
 idaholab/Malcolm#313 and idaholab/Malcolm#283

---
 config/opensearch.env.example                 | 12 ++-
 logstash/pipelines/beats/98_finalize.conf     | 40 +++-------
 .../pipelines/enrichment/98_finalize.conf     | 27 +++----
 .../external/99_opensearch_output.conf        |  2 +-
 .../output/99_opensearch_output.conf          |  2 +-
 logstash/ruby/format_index_string.rb          | 75 +++++++++++++++++++
 6 files changed, 110 insertions(+), 48 deletions(-)
 create mode 100644 logstash/ruby/format_index_string.rb

diff --git a/config/opensearch.env.example b/config/opensearch.env.example
index e9322a433..fd5aca877 100644
--- a/config/opensearch.env.example
+++ b/config/opensearch.env.example
@@ -42,13 +42,21 @@ OPENSEARCH_SECONDARY_SSL_CERTIFICATE_VERIFICATION=false
 OPENSEARCH_JAVA_OPTS=-server -Xms10g -Xmx10g -Xss256k -XX:-HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Dlog4j.formatMsgNoLookups=true
 
 # OpenSearch index patterns and timestamp fields
+# Index pattern for network traffic logs written via Logstash (e.g., Zeek logs, Suricata alerts)
 MALCOLM_NETWORK_INDEX_PATTERN=arkime_sessions3-*
+# Default time field to use for network traffic logs in Logstash and Dashboards
 MALCOLM_NETWORK_INDEX_TIME_FIELD=firstPacket
-MALCOLM_NETWORK_INDEX_SUFFIX=-%{+YYMMdd}
+# Suffix used to create index to which network traffic logs are written (supports Ruby strftime strings in %{})
+MALCOLM_NETWORK_INDEX_SUFFIX=-%{%y%m%d}
+# Index pattern for other logs written via Logstash (e.g., nginx, beats, fluent-bit, etc.)
 MALCOLM_OTHER_INDEX_PATTERN=malcolm_beats_*
+# Default time field to use for other logs in Logstash and Dashboards
 MALCOLM_OTHER_INDEX_TIME_FIELD=@timestamp
-MALCOLM_OTHER_INDEX_SUFFIX=-%{+YYMMdd}
+# Suffix used to create index to which other logs are written (supports Ruby strftime strings in %{})
+MALCOLM_OTHER_INDEX_SUFFIX=-%{%y%m%d}
+# Index pattern used specifically by Arkime (will probably match MALCOLM_NETWORK_INDEX_PATTERN, should probably be arkime_sessions3-*)
 ARKIME_NETWORK_INDEX_PATTERN=arkime_sessions3-*
+# Default time field used by for sessions in Arkime viewer
 ARKIME_NETWORK_INDEX_TIME_FIELD=firstPacket
 
 # Miscellaneous
diff --git a/logstash/pipelines/beats/98_finalize.conf b/logstash/pipelines/beats/98_finalize.conf
index fe0d56542..ed63c35d9 100644
--- a/logstash/pipelines/beats/98_finalize.conf
+++ b/logstash/pipelines/beats/98_finalize.conf
@@ -107,36 +107,20 @@ filter {
       }
     }
 
-    # these fields are used to determine opensearch index format
-    if (![@metadata][malcolm_opensearch_index_prefix]) {
+    # resolve opensearch index
+    if (![@metadata][malcolm_opensearch_index]) {
       ruby {
-        id => "rube_add_beats_logs_index_prefix"
-        init => "$indexPrefix = ENV['MALCOLM_OTHER_INDEX_PATTERN'].sub(/[\*_-]*$/, '')"
-        code => "
-          ipref = ($indexPrefix.nil? || $indexPrefix.empty?) ? 'malcolm_beats' : $indexPrefix
-          icat = event.get('[event][module]')
-          if icat.nil? then
-            icat = event.get('[agent][type]')
-            if icat.nil? then
-              icat = event.get('[input][type]')
-              if icat.nil? then
-                icat = 'malcolm_beats_'
-              end
-            end
-          end
-          event.set('[@metadata][malcolm_opensearch_index_prefix]', ipref + '_' + icat)
-        "
-      }
-    }
-    if (![@metadata][malcolm_opensearch_index_suffix]) {
-      ruby {
-        id => "rube_add_beats_logs_index_suffix"
-        init => "$indexSuffix = ENV['MALCOLM_OTHER_INDEX_PATTERN']"
-        code => "
-          event.set('[@metadata][malcolm_opensearch_index_suffix]', ($indexSuffix.nil? || $indexSuffix.empty?) ? '-%{+YYMMdd}' : $indexSuffix)
-        "
+        id => "ruby_resolve_beats_logs_index"
+        path => "/usr/share/logstash/malcolm-ruby/format_index_string.rb"
+        script_params => {
+          "target" => "[@metadata][malcolm_opensearch_index]"
+          "prefix_env" => "MALCOLM_OTHER_INDEX_PATTERN"
+          "prefix_default" => "malcolm_beats"
+          "suffix_env" => "MALCOLM_OTHER_INDEX_SUFFIX"
+          "suffix_default" => "-%{%y%m%d}"
+          "midfix" => [ "[event][module]", "[agent][type]", "[input][type]" ]
+        }
       }
     }
 
-
 }
\ No newline at end of file
diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf
index 8bfaff8a5..5ed012abc 100644
--- a/logstash/pipelines/enrichment/98_finalize.conf
+++ b/logstash/pipelines/enrichment/98_finalize.conf
@@ -4,23 +4,18 @@
 
 filter {
 
-    # these fields are used to determine opensearch index format
-    if (![@metadata][malcolm_opensearch_index_prefix]) {
+    # resolve opensearch index
+    if (![@metadata][malcolm_opensearch_index]) {
       ruby {
-        id => "rube_add_network_logs_index_prefix"
-        init => "$indexPrefix = ENV['MALCOLM_NETWORK_INDEX_PATTERN'].sub(/[\*_-]*$/, '')"
-        code => "
-          event.set('[@metadata][malcolm_opensearch_index_prefix]', ($indexPrefix.nil? || $indexPrefix.empty?) ? 'arkime_sessions3' : $indexPrefix)
-        "
-      }
-    }
-    if (![@metadata][malcolm_opensearch_index_suffix]) {
-      ruby {
-        id => "rube_add_network_logs_index_suffix"
-        init => "$indexSuffix = ENV['MALCOLM_NETWORK_INDEX_SUFFIX']"
-        code => "
-          event.set('[@metadata][malcolm_opensearch_index_suffix]', ($indexSuffix.nil? || $indexSuffix.empty?) ? '-%{+YYMMdd}' : $indexSuffix)
-        "
+        id => "ruby_resolve_network_logs_index"
+        path => "/usr/share/logstash/malcolm-ruby/format_index_string.rb"
+        script_params => {
+          "target" => "[@metadata][malcolm_opensearch_index]"
+          "prefix_env" => "MALCOLM_NETWORK_INDEX_PATTERN"
+          "prefix_default" => "arkime_sessions3"
+          "suffix_env" => "MALCOLM_NETWORK_INDEX_SUFFIX"
+          "suffix_default" => "-%{%y%m%d}"
+        }
       }
     }
 
diff --git a/logstash/pipelines/external/99_opensearch_output.conf b/logstash/pipelines/external/99_opensearch_output.conf
index dc3ed38ef..cb6db43f5 100644
--- a/logstash/pipelines/external/99_opensearch_output.conf
+++ b/logstash/pipelines/external/99_opensearch_output.conf
@@ -6,7 +6,7 @@ output {
     user => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_USER_"
     password => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_PASSWORD_"
     manage_template => false
-    index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix]}"
+    index => "%{[@metadata][malcolm_opensearch_index]}"
     document_id => "%{+YYMMdd}-%{[event][hash]}"
   }
 }
diff --git a/logstash/pipelines/output/99_opensearch_output.conf b/logstash/pipelines/output/99_opensearch_output.conf
index 3250fa920..4c8c74a19 100644
--- a/logstash/pipelines/output/99_opensearch_output.conf
+++ b/logstash/pipelines/output/99_opensearch_output.conf
@@ -6,7 +6,7 @@ output {
     user => "_MALCOLM_LOGSTASH_OPENSEARCH_USER_"
     password => "_MALCOLM_LOGSTASH_OPENSEARCH_PASSWORD_"
     manage_template => false
-    index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix]}"
+    index => "%{[@metadata][malcolm_opensearch_index]}"
     document_id => "%{+YYMMdd}-%{[event][hash]}"
   }
 }
diff --git a/logstash/ruby/format_index_string.rb b/logstash/ruby/format_index_string.rb
new file mode 100644
index 000000000..0882e03ca
--- /dev/null
+++ b/logstash/ruby/format_index_string.rb
@@ -0,0 +1,75 @@
+def concurrency
+  :shared
+end
+
+def register(params)
+  require 'time'
+
+  @prefix = params["prefix"]
+  _prefix_env = params["prefix_env"]
+  if @prefix.nil? && !_prefix_env.nil?
+    @prefix = ENV[_prefix_env]
+  end
+  if !@prefix.nil? && @prefix.empty?
+    @prefix = params["prefix_default"]
+  end
+
+  @suffix = params["suffix"]
+  _suffix_env = params["suffix_env"]
+  if @suffix.nil? && !_suffix_env.nil?
+    @suffix = ENV[_suffix_env]
+  end
+  if !@suffix.nil? && @suffix.empty?
+    @suffix = params["suffix_default"]
+  end
+
+  _midfix_fields = params["midfix_fields"]
+  if !_midfix_fields.nil? then
+    if _midfix_fields.is_a?(Array) then
+      @midfix = _midfix_fields
+    else
+      @midfix = Array.new
+      if !_midfix_fields.empty?
+        @midfix.push(_midfix_fields)
+      end
+    end
+  else
+    @midfix = Array.new
+  end
+
+  @target = params["target"]
+end
+
+def filter(event)
+
+  event_time = event.get("[@timestamp]")
+  if !event_time.nil? then
+    tstamp = Time.at(event_time.to_i).utc
+  else
+    tstamp = Time.now.utc
+  end
+
+  suffix_resolved = @suffix
+  if parts = @suffix.scan(/(%{([^}]+)})/) then
+      if parts.kind_of?(Array) then
+          parts.each do |pair|
+              if pair.kind_of?(Array) and (pair.length > 0) then
+                  suffix_resolved = suffix_resolved.sub(pair[0], tstamp.strftime(pair[1]))
+              end
+          end
+      end
+  end
+
+  midfix_first = nil
+  @midfix.each do |field|
+    midfix_first = event.get("#{field}")
+    if !midfix_first.nil? && !midfix_first.empty?
+      midfix_first = '_' + midfix_first
+      break
+    end
+  end
+
+  event.set("#{@target}", @prefix.sub(/[\*_-]*$/, '') + String(midfix_first) + suffix_resolved)
+
+  [event]
+end

From 91569c34a6300362ace635b705de0a0037a0ab54 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 11 Jan 2024 12:31:04 -0700
Subject: [PATCH 74/88] customizing index settings work in progress,
 idaholab/Malcolm#313 and idaholab/Malcolm#283

---
 logstash/pipelines/beats/98_finalize.conf      | 4 ++--
 logstash/pipelines/enrichment/98_finalize.conf | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/logstash/pipelines/beats/98_finalize.conf b/logstash/pipelines/beats/98_finalize.conf
index ed63c35d9..2dc7c5539 100644
--- a/logstash/pipelines/beats/98_finalize.conf
+++ b/logstash/pipelines/beats/98_finalize.conf
@@ -107,7 +107,7 @@ filter {
       }
     }
 
-    # resolve opensearch index
+    # generate opensearch index name
     if (![@metadata][malcolm_opensearch_index]) {
       ruby {
         id => "ruby_resolve_beats_logs_index"
@@ -118,7 +118,7 @@ filter {
           "prefix_default" => "malcolm_beats"
           "suffix_env" => "MALCOLM_OTHER_INDEX_SUFFIX"
           "suffix_default" => "-%{%y%m%d}"
-          "midfix" => [ "[event][module]", "[agent][type]", "[input][type]" ]
+          "midfix_fields" => [ "[event][module]", "[agent][type]", "[input][type]" ]
         }
       }
     }
diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf
index 5ed012abc..5e5176cb2 100644
--- a/logstash/pipelines/enrichment/98_finalize.conf
+++ b/logstash/pipelines/enrichment/98_finalize.conf
@@ -4,7 +4,7 @@
 
 filter {
 
-    # resolve opensearch index
+    # generate opensearch index name
     if (![@metadata][malcolm_opensearch_index]) {
       ruby {
         id => "ruby_resolve_network_logs_index"

From ea7cc3ddc74b8bb208c4f4cfa023cde555938ebe Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Thu, 11 Jan 2024 13:27:36 -0700
Subject: [PATCH 75/88] customizing index settings work in progress,
 idaholab/Malcolm#313 and idaholab/Malcolm#283

---
 config/opensearch.env.example                  |  4 ++--
 logstash/pipelines/beats/98_finalize.conf      |  4 ++--
 logstash/pipelines/enrichment/98_finalize.conf |  4 ++--
 logstash/ruby/format_index_string.rb           | 10 +++++++++-
 4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/config/opensearch.env.example b/config/opensearch.env.example
index fd5aca877..95408c7f4 100644
--- a/config/opensearch.env.example
+++ b/config/opensearch.env.example
@@ -47,13 +47,13 @@ MALCOLM_NETWORK_INDEX_PATTERN=arkime_sessions3-*
 # Default time field to use for network traffic logs in Logstash and Dashboards
 MALCOLM_NETWORK_INDEX_TIME_FIELD=firstPacket
 # Suffix used to create index to which network traffic logs are written (supports Ruby strftime strings in %{})
-MALCOLM_NETWORK_INDEX_SUFFIX=-%{%y%m%d}
+MALCOLM_NETWORK_INDEX_SUFFIX=%{%y%m%d}
 # Index pattern for other logs written via Logstash (e.g., nginx, beats, fluent-bit, etc.)
 MALCOLM_OTHER_INDEX_PATTERN=malcolm_beats_*
 # Default time field to use for other logs in Logstash and Dashboards
 MALCOLM_OTHER_INDEX_TIME_FIELD=@timestamp
 # Suffix used to create index to which other logs are written (supports Ruby strftime strings in %{})
-MALCOLM_OTHER_INDEX_SUFFIX=-%{%y%m%d}
+MALCOLM_OTHER_INDEX_SUFFIX=%{%y%m%d}
 # Index pattern used specifically by Arkime (will probably match MALCOLM_NETWORK_INDEX_PATTERN, should probably be arkime_sessions3-*)
 ARKIME_NETWORK_INDEX_PATTERN=arkime_sessions3-*
 # Default time field used by for sessions in Arkime viewer
diff --git a/logstash/pipelines/beats/98_finalize.conf b/logstash/pipelines/beats/98_finalize.conf
index 2dc7c5539..b3b3dff30 100644
--- a/logstash/pipelines/beats/98_finalize.conf
+++ b/logstash/pipelines/beats/98_finalize.conf
@@ -115,9 +115,9 @@ filter {
         script_params => {
           "target" => "[@metadata][malcolm_opensearch_index]"
           "prefix_env" => "MALCOLM_OTHER_INDEX_PATTERN"
-          "prefix_default" => "malcolm_beats"
+          "prefix_default" => "malcolm_beats_*"
           "suffix_env" => "MALCOLM_OTHER_INDEX_SUFFIX"
-          "suffix_default" => "-%{%y%m%d}"
+          "suffix_default" => "%{%y%m%d}"
           "midfix_fields" => [ "[event][module]", "[agent][type]", "[input][type]" ]
         }
       }
diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf
index 5e5176cb2..0d979c734 100644
--- a/logstash/pipelines/enrichment/98_finalize.conf
+++ b/logstash/pipelines/enrichment/98_finalize.conf
@@ -12,9 +12,9 @@ filter {
         script_params => {
           "target" => "[@metadata][malcolm_opensearch_index]"
           "prefix_env" => "MALCOLM_NETWORK_INDEX_PATTERN"
-          "prefix_default" => "arkime_sessions3"
+          "prefix_default" => "arkime_sessions3-*"
           "suffix_env" => "MALCOLM_NETWORK_INDEX_SUFFIX"
-          "suffix_default" => "-%{%y%m%d}"
+          "suffix_default" => "%{%y%m%d}"
         }
       }
     }
diff --git a/logstash/ruby/format_index_string.rb b/logstash/ruby/format_index_string.rb
index 0882e03ca..258f0a42a 100644
--- a/logstash/ruby/format_index_string.rb
+++ b/logstash/ruby/format_index_string.rb
@@ -49,6 +49,14 @@ def filter(event)
     tstamp = Time.now.utc
   end
 
+  prefix_resolved = @prefix.delete_suffix('*')
+  if prefix_resolved[-1].count("^a-z0-9").zero? then
+    suffix_separator = ''
+  else
+    suffix_separator = prefix_resolved[-1]
+    prefix_resolved = prefix_resolved[0..-2]
+  end
+
   suffix_resolved = @suffix
   if parts = @suffix.scan(/(%{([^}]+)})/) then
       if parts.kind_of?(Array) then
@@ -69,7 +77,7 @@ def filter(event)
     end
   end
 
-  event.set("#{@target}", @prefix.sub(/[\*_-]*$/, '') + String(midfix_first) + suffix_resolved)
+  event.set("#{@target}", prefix_resolved + String(midfix_first) + suffix_separator + suffix_resolved)
 
   [event]
 end

From c3027ac0f8d8a9ce57e55f976fc7d61a2226b5ef Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 15 Jan 2024 08:11:28 -0700
Subject: [PATCH 76/88] remove unused file

---
 shared/bin/therm-sensors-json.py | 79 --------------------------------
 1 file changed, 79 deletions(-)
 delete mode 100755 shared/bin/therm-sensors-json.py

diff --git a/shared/bin/therm-sensors-json.py b/shared/bin/therm-sensors-json.py
deleted file mode 100755
index 87ff591ea..000000000
--- a/shared/bin/therm-sensors-json.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
-
-import argparse
-import json
-import logging
-import os
-import sys
-
-from malcolm_utils import run_process
-
-###################################################################################################
-args = None
-script_return_code = 0
-script_name = os.path.basename(__file__)
-script_path = os.path.dirname(os.path.realpath(__file__))
-orig_path = os.getcwd()
-
-
-###################################################################################################
-def main():
-    global args
-
-    parser = argparse.ArgumentParser(
-        description='\n'.join(
-            [
-                'Return sensors temperature values in JSON',
-            ]
-        ),
-        formatter_class=argparse.RawTextHelpFormatter,
-        add_help=False,
-        usage='{} <arguments>'.format(script_name),
-    )
-    parser.add_argument(
-        '--verbose',
-        '-v',
-        action='count',
-        default=1,
-        help='Increase verbosity (e.g., -v, -vv, etc.)',
-    )
-    try:
-        parser.error = parser.exit
-        args = parser.parse_args()
-    except SystemExit:
-        parser.print_help()
-        exit(2)
-
-    args.verbose = logging.CRITICAL - (10 * args.verbose) if args.verbose > 0 else 0
-    logging.basicConfig(
-        level=args.verbose, format='%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S'
-    )
-    logging.info(os.path.join(script_path, script_name))
-    logging.info("Arguments: {}".format(sys.argv[1:]))
-    logging.info("Arguments: {}".format(args))
-    if args.verbose > logging.DEBUG:
-        sys.tracebacklimit = 0
-
-    retcode, output = run_process(
-        ['sensors', '-j'],
-        stderr=False,
-        debug=args.verbose > logging.DEBUG,
-        logger=logging,
-    )
-    if (retcode == 0) and output:
-        temps = json.loads(''.join(output))
-
-        # TODO: format like fluent-bit's output (https://docs.fluentbit.io/manual/pipeline/inputs/thermal)
-        # e.g., {"name"=>"thermal_zone0", "type"=>"x86_pkg_temp", "temp"=>45.000000}
-        print(json.dumps(temps))
-    else:
-        script_return_code = retcode if not retcode else 1
-
-
-###################################################################################################
-if __name__ == '__main__':
-    main()
-    sys.exit(script_return_code)

From 4aec3a4a19f20febb79ddb2e278b6d43febda6a8 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 15 Jan 2024 08:29:28 -0700
Subject: [PATCH 77/88] customizing index settings work in progress,
 idaholab/Malcolm#313

---
 shared/bin/opensearch_index_size_prune.py | 69 ++++++++++++++---------
 1 file changed, 43 insertions(+), 26 deletions(-)

diff --git a/shared/bin/opensearch_index_size_prune.py b/shared/bin/opensearch_index_size_prune.py
index ee4a4eb0c..273dbed7b 100755
--- a/shared/bin/opensearch_index_size_prune.py
+++ b/shared/bin/opensearch_index_size_prune.py
@@ -14,7 +14,7 @@
 from requests.auth import HTTPBasicAuth
 
 import malcolm_utils
-from malcolm_utils import eprint, str2bool, ParseCurlFile
+from malcolm_utils import eprint, str2bool, ParseCurlFile, get_iterable
 
 ###################################################################################################
 debug = False
@@ -44,10 +44,13 @@ def main():
         '-i',
         '--index',
         dest='index',
-        metavar='<str>',
         type=str,
-        default=os.getenv('OPENSEARCH_INDEX_SIZE_PRUNE_INDEX', 'arkime_sessions3-*'),
-        help='Index pattern',
+        nargs='*',
+        default=[
+            os.getenv('MALCOLM_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'),
+            os.getenv('ARKIME_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'),
+        ],
+        help='Index pattern(s)',
     )
     parser.add_argument(
         '-o',
@@ -152,7 +155,11 @@ def main():
         sys.tracebacklimit = 0
 
     # short-circuit without printing anything else
-    if (args.limit == '0') or (args.opensearchMode == malcolm_utils.DatabaseMode.ElasticsearchRemote):
+    if (
+        (args.limit == '0')
+        or (not args.index)
+        or (args.opensearchMode == malcolm_utils.DatabaseMode.ElasticsearchRemote)
+    ):
         return
 
     opensearchIsLocal = (args.opensearchMode == malcolm_utils.DatabaseMode.OpenSearchLocal) or (
@@ -180,6 +187,9 @@ def main():
     if debug:
         eprint(f'OpenSearch version is {opensearchVersion}')
 
+    # as mulitple index patterns may be specified, deduplicate
+    args.index = list(set(get_iterable(args.index)))
+
     totalIndices = 0
     limitMegabytes = None
     limitPercent = None
@@ -255,20 +265,23 @@ def main():
             f'Index limit for {args.index} is {humanfriendly.format_size(humanfriendly.parse_size(f"{limitMegabytes}mb"))}'
         )
 
-    # now determine the total size of the indices from the index pattern
-    osInfoResponse = requests.get(
-        f'{args.opensearchUrl}/{args.index}/_stats/store',
-        auth=opensearchReqHttpAuth,
-        verify=args.opensearchSslVerify,
-    )
-    osInfo = osInfoResponse.json()
-    try:
-        totalSizeInMegabytes = (
-            osInfo['_all']['primaries' if args.primaryTotals else 'total']['store']['size_in_bytes'] // 1000000
+    # now determine the total size of the indices from the index pattern(s)
+    totalSizeInMegabytes = 0
+    totalIndices = 0
+    for idx in get_iterable(args.index):
+        osInfoResponse = requests.get(
+            f'{args.opensearchUrl}/{idx}/_stats/store',
+            auth=opensearchReqHttpAuth,
+            verify=args.opensearchSslVerify,
         )
-        totalIndices = len(osInfo["indices"])
-    except Exception as e:
-        raise Exception(f'Error getting {args.index} size_in_bytes: {e}')
+        osInfo = osInfoResponse.json()
+        try:
+            totalSizeInMegabytes = totalSizeInMegabytes + (
+                osInfo['_all']['primaries' if args.primaryTotals else 'total']['store']['size_in_bytes'] // 1000000
+            )
+            totalIndices = totalIndices + len(osInfo["indices"])
+        except Exception as e:
+            raise Exception(f'Error getting {idx} size_in_bytes: {e}')
     if debug:
         eprint(
             f'Total {args.index} megabytes: is {humanfriendly.format_size(humanfriendly.parse_size(f"{totalSizeInMegabytes}mb"))}'
@@ -282,14 +295,18 @@ def main():
                 f'{len(osInfo)} {args.index} indices occupy {humanfriendly.format_size(humanfriendly.parse_size(f"{totalSizeInMegabytes}mb"))} ({humanfriendly.format_size(humanfriendly.parse_size(f"{limitMegabytes}mb"))} allowed)'
             )
 
-        # get list of indexes in index pattern and sort by creation date
-        osInfoResponse = requests.get(
-            f'{args.opensearchUrl}/_cat/indices/{args.index}',
-            params={'format': 'json', 'h': 'i,id,status,health,rep,creation.date,pri.store.size,store.size'},
-            auth=opensearchReqHttpAuth,
-            verify=args.opensearchSslVerify,
-        )
-        osInfo = sorted(osInfoResponse.json(), key=lambda k: k['i' if args.nameSorted else 'creation.date'])
+        # get list of indexes in index pattern(s) and sort by creation date
+        osInfo = []
+        for idx in args.index:
+            osInfo.extend(
+                requests.get(
+                    f'{args.opensearchUrl}/_cat/indices/{idx}',
+                    params={'format': 'json', 'h': 'i,id,status,health,rep,creation.date,pri.store.size,store.size'},
+                    auth=opensearchReqHttpAuth,
+                    verify=args.opensearchSslVerify,
+                ).json()
+            )
+        osInfo = sorted(osInfo, key=lambda k: k['i' if args.nameSorted else 'creation.date'])
 
         # determine how many megabytes need to be deleted and which of the oldest indices will cover that
         indicesToDelete = []

From bc2d49014509a3d6bcece55dfd24c3fd1ca8e317 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 15 Jan 2024 11:22:45 -0700
Subject: [PATCH 78/88] documentation

---
 docs/malcolm-upgrade.md | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/docs/malcolm-upgrade.md b/docs/malcolm-upgrade.md
index 284ad1359..b27f80f3b 100644
--- a/docs/malcolm-upgrade.md
+++ b/docs/malcolm-upgrade.md
@@ -49,7 +49,16 @@ If Malcolm was installed from [pre-packaged installation files]({{ site.github.r
 1. re-run `./scripts/configure` as described in [Malcolm Configuration](malcolm-config.md#ConfigAndTuning)
     * to do an in-depth comparison of the previous version's settings with the new setings:
         + using a file comparison tool (e.g., `diff`, `meld`, `Beyond Compare`, etc.), compare `docker-compose.yml` and the `docker-compare.yml` file backed up in Step 3, and manually migrate over any customizations in file
-        + compare the contents of each  `.env` file  Malcolm's `./config/` directory with its corresponding `.env.example` file
+        + compare the contents of each  `.env` file  Malcolm's `./config/` directory with its corresponding `.env.example` file. the author uses this command which uses [difftastic](https://github.com/Wilfred/difftastic), [bat](https://github.com/sharkdp/bat), [unbuffer](https://manpages.debian.org/stretch/expect/unbuffer.1.en.html), and [cmp](https://en.wikipedia.org/wiki/Cmp_(Unix)).
+        ```bash
+        for FILE in *.env; do \
+            cmp -s ../config/"$FILE.example" "$FILE" || \
+            unbuffer difft --display side-by-side-show-both \
+                           --tab-width 4 --strip-cr \
+                           --syntax-highlight on --ignore-comments \
+                           ../config/"$FILE.example" "$FILE"; \
+        done | bat --color=always
+        ```
 1. pull the new docker images (this will take a while)
     * `docker compose --profile malcolm pull` to pull them from [GitHub](https://github.com/orgs/idaholab/packages?repo_name=Malcolm) or `docker compose load -i malcolm_YYYYMMDD_HHNNSS_xxxxxxx_images.tar.xz` if an offline tarball of the Malcolm docker images is available
 1. start Malcolm

From 4e39e89f0a3c28427a7bca3514e7afc12e4da5d3 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 15 Jan 2024 14:44:21 -0700
Subject: [PATCH 79/88] customizing index settings work in progress,
 idaholab/Malcolm#313

---
 Dockerfiles/dashboards-helper.Dockerfile | 2 +-
 dashboards/scripts/index-refresh.py      | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile
index 9426311f1..39086b372 100644
--- a/Dockerfiles/dashboards-helper.Dockerfile
+++ b/Dockerfiles/dashboards-helper.Dockerfile
@@ -95,7 +95,7 @@ RUN apk update --no-cache && \
                                 /opt/templates && \
     chmod 755 /data/*.sh /data/*.py /data/init && \
     chmod 400 /opt/maps/* && \
-    (echo -e "*/2 * * * * /data/create-arkime-sessions-index.sh\n0 10 * * * /data/index-refresh.py --template malcolm_template --unassigned\n30 */2 * * * /data/index-refresh.py --index 'malcolm_beats_*' --template malcolm_beats_template --unassigned\n*/20 * * * * /data/opensearch_index_size_prune.py" > ${SUPERCRONIC_CRONTAB})
+    (echo -e "*/2 * * * * /data/create-arkime-sessions-index.sh\n0 10 * * * /data/index-refresh.py --index MALCOLM_NETWORK_INDEX_PATTERN --template malcolm_template --unassigned\n30 */2 * * * /data/index-refresh.py --index MALCOLM_OTHER_INDEX_PATTERN --template malcolm_beats_template --unassigned\n*/20 * * * * /data/opensearch_index_size_prune.py" > ${SUPERCRONIC_CRONTAB})
 
 EXPOSE $OFFLINE_REGION_MAPS_PORT
 
diff --git a/dashboards/scripts/index-refresh.py b/dashboards/scripts/index-refresh.py
index 82fc27b5a..4e2ea7458 100755
--- a/dashboards/scripts/index-refresh.py
+++ b/dashboards/scripts/index-refresh.py
@@ -191,6 +191,10 @@ def main():
     if debug:
         eprint('OpenSearch version is {}'.format(opensearchVersion))
 
+    # if they actually just specified the name of the environment variable, resolve that for the index name
+    if args.index.startswith('MALCOLM_'):
+        args.index = os.getenv(args.index, '')
+
     # find the ID of the index name (probably will be the same as the name)
     getIndexInfoResponse = requests.get(
         '{}/{}'.format(args.dashboardsUrl, GET_INDEX_PATTERN_INFO_URI),

From 58ba3f261f282abfe19883d624dda2c09ca0894c Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 15 Jan 2024 14:48:00 -0700
Subject: [PATCH 80/88] bump fluent-bit version to v2.2.2

---
 scripts/third-party-logs/fluent-bit-setup.ps1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/third-party-logs/fluent-bit-setup.ps1 b/scripts/third-party-logs/fluent-bit-setup.ps1
index ead2cc542..a1e0928c1 100644
--- a/scripts/third-party-logs/fluent-bit-setup.ps1
+++ b/scripts/third-party-logs/fluent-bit-setup.ps1
@@ -9,7 +9,7 @@
 ###############################################################################
 
 $fluent_bit_version = '2.2'
-$fluent_bit_full_version = '2.2.1'
+$fluent_bit_full_version = '2.2.2'
 
 ###############################################################################
 # select an item from a menu provided in an array

From 564f73236ec4a417662266f0ae6455313305eb95 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 15 Jan 2024 14:48:44 -0700
Subject: [PATCH 81/88] bump beats and logstash to v8.11.4

---
 Dockerfiles/filebeat.Dockerfile | 2 +-
 Dockerfiles/logstash.Dockerfile | 2 +-
 sensor-iso/build.sh             | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Dockerfiles/filebeat.Dockerfile b/Dockerfiles/filebeat.Dockerfile
index 84a56baa2..2102e425a 100644
--- a/Dockerfiles/filebeat.Dockerfile
+++ b/Dockerfiles/filebeat.Dockerfile
@@ -1,4 +1,4 @@
-FROM docker.elastic.co/beats/filebeat-oss:8.11.3
+FROM docker.elastic.co/beats/filebeat-oss:8.11.4
 
 # Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
 LABEL maintainer="malcolm@inl.gov"
diff --git a/Dockerfiles/logstash.Dockerfile b/Dockerfiles/logstash.Dockerfile
index 85c7104fc..df35928a8 100644
--- a/Dockerfiles/logstash.Dockerfile
+++ b/Dockerfiles/logstash.Dockerfile
@@ -1,4 +1,4 @@
-FROM docker.elastic.co/logstash/logstash-oss:8.11.3
+FROM docker.elastic.co/logstash/logstash-oss:8.11.4
 
 LABEL maintainer="malcolm@inl.gov"
 LABEL org.opencontainers.image.authors='malcolm@inl.gov'
diff --git a/sensor-iso/build.sh b/sensor-iso/build.sh
index 5b6dea645..f37dfd1d3 100755
--- a/sensor-iso/build.sh
+++ b/sensor-iso/build.sh
@@ -5,7 +5,7 @@ IMAGE_PUBLISHER=idaholab
 IMAGE_VERSION=1.0.0
 IMAGE_DISTRIBUTION=bookworm
 
-BEATS_VER="8.11.3"
+BEATS_VER="8.11.4"
 BEATS_OSS="-oss"
 
 BUILD_ERROR_CODE=1

From 7d87f2a5ac1b1714135fe4c61249fa250582fcbf Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Mon, 15 Jan 2024 14:53:40 -0700
Subject: [PATCH 82/88] restore kubernetes image references

---
 kubernetes/03-opensearch.yml         | 4 ++--
 kubernetes/04-dashboards.yml         | 2 +-
 kubernetes/05-upload.yml             | 4 ++--
 kubernetes/06-pcap-monitor.yml       | 4 ++--
 kubernetes/07-arkime.yml             | 4 ++--
 kubernetes/08-api.yml                | 2 +-
 kubernetes/09-dashboards-helper.yml  | 2 +-
 kubernetes/10-zeek.yml               | 4 ++--
 kubernetes/11-suricata.yml           | 4 ++--
 kubernetes/12-file-monitor.yml       | 4 ++--
 kubernetes/13-filebeat.yml           | 4 ++--
 kubernetes/14-logstash.yml           | 4 ++--
 kubernetes/15-netbox-redis.yml       | 4 ++--
 kubernetes/16-netbox-redis-cache.yml | 2 +-
 kubernetes/17-netbox-postgres.yml    | 4 ++--
 kubernetes/18-netbox.yml             | 4 ++--
 kubernetes/19-htadmin.yml            | 4 ++--
 kubernetes/20-pcap-capture.yml       | 4 ++--
 kubernetes/21-zeek-live.yml          | 4 ++--
 kubernetes/22-suricata-live.yml      | 4 ++--
 kubernetes/23-arkime-live.yml        | 4 ++--
 kubernetes/24-freq.yml               | 2 +-
 kubernetes/98-nginx-proxy.yml        | 4 ++--
 23 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/kubernetes/03-opensearch.yml b/kubernetes/03-opensearch.yml
index 4a14aaeed..ee401cec9 100644
--- a/kubernetes/03-opensearch.yml
+++ b/kubernetes/03-opensearch.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: opensearch-container
-        image: ghcr.io/mmguero-dev/malcolm/opensearch:development
+        image: ghcr.io/idaholab/malcolm/opensearch:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -71,7 +71,7 @@ spec:
             subPath: "opensearch"
       initContainers:
       - name: opensearch-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/04-dashboards.yml b/kubernetes/04-dashboards.yml
index cfbb8b422..54301d123 100644
--- a/kubernetes/04-dashboards.yml
+++ b/kubernetes/04-dashboards.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: dashboards-container
-        image: ghcr.io/mmguero-dev/malcolm/dashboards:development
+        image: ghcr.io/idaholab/malcolm/dashboards:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/05-upload.yml b/kubernetes/05-upload.yml
index 7631d405f..003c00476 100644
--- a/kubernetes/05-upload.yml
+++ b/kubernetes/05-upload.yml
@@ -34,7 +34,7 @@ spec:
     spec:
       containers:
       - name: upload-container
-        image: ghcr.io/mmguero-dev/malcolm/file-upload:development
+        image: ghcr.io/idaholab/malcolm/file-upload:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -73,7 +73,7 @@ spec:
             subPath: "upload"
       initContainers:
       - name: upload-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/06-pcap-monitor.yml b/kubernetes/06-pcap-monitor.yml
index 70da6fc02..ce67e2cc4 100644
--- a/kubernetes/06-pcap-monitor.yml
+++ b/kubernetes/06-pcap-monitor.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: pcap-monitor-container
-        image: ghcr.io/mmguero-dev/malcolm/pcap-monitor:development
+        image: ghcr.io/idaholab/malcolm/pcap-monitor:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -70,7 +70,7 @@ spec:
             name: pcap-monitor-zeek-volume
       initContainers:
       - name: pcap-monitor-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/07-arkime.yml b/kubernetes/07-arkime.yml
index e050e6036..59bac4763 100644
--- a/kubernetes/07-arkime.yml
+++ b/kubernetes/07-arkime.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: arkime-container
-        image: ghcr.io/mmguero-dev/malcolm/arkime:development
+        image: ghcr.io/idaholab/malcolm/arkime:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -79,7 +79,7 @@ spec:
             name: arkime-pcap-volume
       initContainers:
       - name: arkime-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/08-api.yml b/kubernetes/08-api.yml
index dff8c4274..2c60ade37 100644
--- a/kubernetes/08-api.yml
+++ b/kubernetes/08-api.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: api-container
-        image: ghcr.io/mmguero-dev/malcolm/api:development
+        image: ghcr.io/idaholab/malcolm/api:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/09-dashboards-helper.yml b/kubernetes/09-dashboards-helper.yml
index 3c1292517..90b818d0d 100644
--- a/kubernetes/09-dashboards-helper.yml
+++ b/kubernetes/09-dashboards-helper.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: dashboards-helper-container
-        image: ghcr.io/mmguero-dev/malcolm/dashboards-helper:development
+        image: ghcr.io/idaholab/malcolm/dashboards-helper:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/10-zeek.yml b/kubernetes/10-zeek.yml
index daa925943..b3f39c623 100644
--- a/kubernetes/10-zeek.yml
+++ b/kubernetes/10-zeek.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: zeek-offline-container
-        image: ghcr.io/mmguero-dev/malcolm/zeek:development
+        image: ghcr.io/idaholab/malcolm/zeek:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -64,7 +64,7 @@ spec:
             subPath: "zeek/intel"
       initContainers:
       - name: zeek-offline-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/11-suricata.yml b/kubernetes/11-suricata.yml
index 5bdf9472f..5568fe7df 100644
--- a/kubernetes/11-suricata.yml
+++ b/kubernetes/11-suricata.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: suricata-offline-container
-        image: ghcr.io/mmguero-dev/malcolm/suricata:development
+        image: ghcr.io/idaholab/malcolm/suricata:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -55,7 +55,7 @@ spec:
             name: suricata-offline-custom-configs-volume
       initContainers:
       - name: suricata-offline-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/12-file-monitor.yml b/kubernetes/12-file-monitor.yml
index 9cf768a47..f7ddf38ff 100644
--- a/kubernetes/12-file-monitor.yml
+++ b/kubernetes/12-file-monitor.yml
@@ -33,7 +33,7 @@ spec:
     spec:
       containers:
       - name: file-monitor-container
-        image: ghcr.io/mmguero-dev/malcolm/file-monitor:development
+        image: ghcr.io/idaholab/malcolm/file-monitor:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -81,7 +81,7 @@ spec:
             name: file-monitor-yara-rules-custom-volume
       initContainers:
       - name: file-monitor-live-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/13-filebeat.yml b/kubernetes/13-filebeat.yml
index da45a94d1..70a1ce8fc 100644
--- a/kubernetes/13-filebeat.yml
+++ b/kubernetes/13-filebeat.yml
@@ -33,7 +33,7 @@ spec:
     spec:
       containers:
       - name: filebeat-container
-        image: ghcr.io/mmguero-dev/malcolm/filebeat-oss:development
+        image: ghcr.io/idaholab/malcolm/filebeat-oss:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -83,7 +83,7 @@ spec:
             subPath: "nginx"
       initContainers:
       - name: filebeat-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/14-logstash.yml b/kubernetes/14-logstash.yml
index 0cb84994b..8151d9f47 100644
--- a/kubernetes/14-logstash.yml
+++ b/kubernetes/14-logstash.yml
@@ -49,7 +49,7 @@ spec:
       #       topologyKey: "kubernetes.io/hostname"
       containers:
       - name: logstash-container
-        image: ghcr.io/mmguero-dev/malcolm/logstash-oss:development
+        image: ghcr.io/idaholab/malcolm/logstash-oss:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -115,7 +115,7 @@ spec:
             subPath: "logstash"
       initContainers:
       - name: logstash-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/15-netbox-redis.yml b/kubernetes/15-netbox-redis.yml
index 922f54f1d..738c27dc9 100644
--- a/kubernetes/15-netbox-redis.yml
+++ b/kubernetes/15-netbox-redis.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: netbox-redis-container
-        image: ghcr.io/mmguero-dev/malcolm/redis:development
+        image: ghcr.io/idaholab/malcolm/redis:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -83,7 +83,7 @@ spec:
             subPath: netbox/redis
       initContainers:
       - name: netbox-redis-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/16-netbox-redis-cache.yml b/kubernetes/16-netbox-redis-cache.yml
index 0fef1bbf0..3d382482c 100644
--- a/kubernetes/16-netbox-redis-cache.yml
+++ b/kubernetes/16-netbox-redis-cache.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: netbox-redis-cache-container
-        image: ghcr.io/mmguero-dev/malcolm/redis:development
+        image: ghcr.io/idaholab/malcolm/redis:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/17-netbox-postgres.yml b/kubernetes/17-netbox-postgres.yml
index 55a066358..f244be897 100644
--- a/kubernetes/17-netbox-postgres.yml
+++ b/kubernetes/17-netbox-postgres.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: netbox-postgres-container
-        image: ghcr.io/mmguero-dev/malcolm/postgresql:development
+        image: ghcr.io/idaholab/malcolm/postgresql:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -74,7 +74,7 @@ spec:
             subPath: netbox/postgres
       initContainers:
       - name: netbox-postgres-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/18-netbox.yml b/kubernetes/18-netbox.yml
index f81438018..4cb746385 100644
--- a/kubernetes/18-netbox.yml
+++ b/kubernetes/18-netbox.yml
@@ -36,7 +36,7 @@ spec:
     spec:
       containers:
       - name: netbox-container
-        image: ghcr.io/mmguero-dev/malcolm/netbox:development
+        image: ghcr.io/idaholab/malcolm/netbox:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -88,7 +88,7 @@ spec:
             subPath: netbox/media
       initContainers:
       - name: netbox-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/19-htadmin.yml b/kubernetes/19-htadmin.yml
index de5293761..f7babad77 100644
--- a/kubernetes/19-htadmin.yml
+++ b/kubernetes/19-htadmin.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: htadmin-container
-        image: ghcr.io/mmguero-dev/malcolm/htadmin:development
+        image: ghcr.io/idaholab/malcolm/htadmin:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -63,7 +63,7 @@ spec:
             subPath: "htadmin"
       initContainers:
       - name: htadmin-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/20-pcap-capture.yml b/kubernetes/20-pcap-capture.yml
index 2e0f46fca..c0f804807 100644
--- a/kubernetes/20-pcap-capture.yml
+++ b/kubernetes/20-pcap-capture.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: pcap-capture-container
-        image: ghcr.io/mmguero-dev/malcolm/pcap-capture:development
+        image: ghcr.io/idaholab/malcolm/pcap-capture:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -50,7 +50,7 @@ spec:
             subPath: "upload"
       initContainers:
       - name: pcap-capture-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/21-zeek-live.yml b/kubernetes/21-zeek-live.yml
index 2575cfdc3..431c2ee5a 100644
--- a/kubernetes/21-zeek-live.yml
+++ b/kubernetes/21-zeek-live.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: zeek-live-container
-        image: ghcr.io/mmguero-dev/malcolm/zeek:development
+        image: ghcr.io/idaholab/malcolm/zeek:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -61,7 +61,7 @@ spec:
             subPath: "zeek/intel"
       initContainers:
       - name: zeek-live-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/22-suricata-live.yml b/kubernetes/22-suricata-live.yml
index 3fbca4d03..c323398ef 100644
--- a/kubernetes/22-suricata-live.yml
+++ b/kubernetes/22-suricata-live.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: suricata-live-container
-        image: ghcr.io/mmguero-dev/malcolm/suricata:development
+        image: ghcr.io/idaholab/malcolm/suricata:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -56,7 +56,7 @@ spec:
             name: suricata-live-custom-configs-volume
       initContainers:
       - name: suricata-live-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/23-arkime-live.yml b/kubernetes/23-arkime-live.yml
index 79b4bc4d3..c91ab8440 100644
--- a/kubernetes/23-arkime-live.yml
+++ b/kubernetes/23-arkime-live.yml
@@ -16,7 +16,7 @@ spec:
     spec:
       containers:
       - name: arkime-live-container
-        image: ghcr.io/mmguero-dev/malcolm/arkime:development
+        image: ghcr.io/idaholab/malcolm/arkime:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -62,7 +62,7 @@ spec:
             name: arkime-live-pcap-volume
       initContainers:
       - name: arkime-live-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/24-freq.yml b/kubernetes/24-freq.yml
index b9dc580df..8e45e1a91 100644
--- a/kubernetes/24-freq.yml
+++ b/kubernetes/24-freq.yml
@@ -30,7 +30,7 @@ spec:
     spec:
       containers:
       - name: freq-container
-        image: ghcr.io/mmguero-dev/malcolm/freq:development
+        image: ghcr.io/idaholab/malcolm/freq:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
diff --git a/kubernetes/98-nginx-proxy.yml b/kubernetes/98-nginx-proxy.yml
index 94e7861e2..bebc05efa 100644
--- a/kubernetes/98-nginx-proxy.yml
+++ b/kubernetes/98-nginx-proxy.yml
@@ -39,7 +39,7 @@ spec:
     spec:
       containers:
       - name: nginx-proxy-container
-        image: ghcr.io/mmguero-dev/malcolm/nginx-proxy:development
+        image: ghcr.io/idaholab/malcolm/nginx-proxy:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true
@@ -95,7 +95,7 @@ spec:
           subPath: "nginx"
       initContainers:
       - name: nginx-dirinit-container
-        image: ghcr.io/mmguero-dev/malcolm/dirinit:development
+        image: ghcr.io/idaholab/malcolm/dirinit:24.01.0
         imagePullPolicy: Always
         stdin: false
         tty: true

From b002f2f56b093a5b8c519976be5e0f7790057de3 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 16 Jan 2024 07:33:09 -0700
Subject: [PATCH 83/88] customizing index settings work in progress,
 idaholab/Malcolm#313

---
 scripts/install.py                        | 2 +-
 shared/bin/opensearch_index_size_prune.py | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/scripts/install.py b/scripts/install.py
index 7a6c61f90..95f307c8c 100755
--- a/scripts/install.py
+++ b/scripts/install.py
@@ -1038,7 +1038,7 @@ def tweak_malcolm_runtime(self, malcolm_install_path):
                         'Enter index threshold (e.g., 250GB, 1TB, 60%, etc.)', default=args.indexPruneSizeLimit
                     )
                 indexPruneNameSort = InstallerYesOrNo(
-                    'Determine oldest indices by name (instead of creation time)?', default=True
+                    'Determine oldest indices by name (instead of creation time)?', default=False
                 )
 
             # let Arkime delete old PCAP files based on available storage
diff --git a/shared/bin/opensearch_index_size_prune.py b/shared/bin/opensearch_index_size_prune.py
index 273dbed7b..ffcf5901e 100755
--- a/shared/bin/opensearch_index_size_prune.py
+++ b/shared/bin/opensearch_index_size_prune.py
@@ -39,7 +39,6 @@ def main():
         default=str2bool(os.getenv('OPENSEARCH_INDEX_SIZE_PRUNE_DEBUG', default='False')),
         help="Verbose output",
     )
-    # TODO: allow specifying two indices (e.g., MALCOLM_NETWORK_INDEX_PATTERN may be different than ARKIME_NETWORK_INDEX_PATTERN)
     parser.add_argument(
         '-i',
         '--index',
@@ -49,6 +48,7 @@ def main():
         default=[
             os.getenv('MALCOLM_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'),
             os.getenv('ARKIME_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'),
+            os.getenv('MALCOLM_OTHER_INDEX_PATTERN', 'malcolm_beats_*'),
         ],
         help='Index pattern(s)',
     )
@@ -280,6 +280,9 @@ def main():
                 osInfo['_all']['primaries' if args.primaryTotals else 'total']['store']['size_in_bytes'] // 1000000
             )
             totalIndices = totalIndices + len(osInfo["indices"])
+        except KeyError:
+            # just means there aren't any indices of this type yet, ignore it
+            pass
         except Exception as e:
             raise Exception(f'Error getting {idx} size_in_bytes: {e}')
     if debug:

From 1c0344bea29eb55dfbdc45724d1048dafdf85f1d Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 16 Jan 2024 08:57:46 -0700
Subject: [PATCH 84/88] customizing index settings work in progress,
 idaholab/Malcolm#313

---
 shared/bin/opensearch_index_size_prune.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/shared/bin/opensearch_index_size_prune.py b/shared/bin/opensearch_index_size_prune.py
index ffcf5901e..df02b1fa7 100755
--- a/shared/bin/opensearch_index_size_prune.py
+++ b/shared/bin/opensearch_index_size_prune.py
@@ -295,7 +295,7 @@ def main():
 
         if debug:
             eprint(
-                f'{len(osInfo)} {args.index} indices occupy {humanfriendly.format_size(humanfriendly.parse_size(f"{totalSizeInMegabytes}mb"))} ({humanfriendly.format_size(humanfriendly.parse_size(f"{limitMegabytes}mb"))} allowed)'
+                f'{totalIndices} {args.index} indices occupy {humanfriendly.format_size(humanfriendly.parse_size(f"{totalSizeInMegabytes}mb"))} ({humanfriendly.format_size(humanfriendly.parse_size(f"{limitMegabytes}mb"))} allowed)'
             )
 
         # get list of indexes in index pattern(s) and sort by creation date

From ce95e352472bf66b6f3e36690dbc4d25fc6acbb3 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 16 Jan 2024 09:16:51 -0700
Subject: [PATCH 85/88] Documentation

---
 docs/malcolm-config.md | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md
index 4e7c8eed6..fff52c6b0 100644
--- a/docs/malcolm-config.md
+++ b/docs/malcolm-config.md
@@ -11,6 +11,7 @@ Although the configuration script automates many of the following configuration
 * **`arkime.env`** and **`arkime-secret.env`** - settings for [Arkime](https://arkime.com/)
     - `ARKIME_AUTO_ANALYZE_PCAP_THREADS` – the number of threads available to Arkime for analyzing PCAP files (default `1`)
     - `ARKIME_PASSWORD_SECRET` - the password hash secret for the Arkime viewer cluster (see `passwordSecret` in [Arkime INI Settings](https://arkime.com/settings)) used to secure the connection used when Arkime viewer retrieves a PCAP payload for display in its user interface
+    - `ARKIME_ROTATE_INDEX` - how often (based on network traffic timestamp) to [create a new index](https://arkime.com/settings#rotateIndex) in OpenSearch
     - `MANAGE_PCAP_FILES` – if set to `true`, all PCAP files imported into Malcolm will be marked as available for deletion by Arkime if available storage space becomes too low (default `false`)
     - `MAXMIND_GEOIP_DB_LICENSE_KEY` - Malcolm uses MaxMind's free GeoLite2 databases for GeoIP lookups. As of December 30, 2019, these databases are [no longer available](https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/) for download via a public URL. Instead, they must be downloaded using a MaxMind license key (available without charge [from MaxMind](https://www.maxmind.com/en/geolite2/signup)). The license key can be specified here for GeoIP database downloads during build- and run-time.
 * **`auth-common.env`** - [authentication](authsetup.md)-related settings
@@ -50,6 +51,14 @@ Although the configuration script automates many of the following configuration
     - `OPENSEARCH_SECONDARY` - one of `opensearch-local`, `opensearch-remote`, `elasticsearch-remote`, or blank (unset) to indicate that Malcolm should forward logs to a secondary remote OpenSearch instance in addition to the primary OpenSearch instance (default is unset)
     - `OPENSEARCH_SECONDARY_URL` - when forwarding to a secondary remote OpenSearch instance (i.e., `OPENSEARCH_SECONDARY` is set) this value specifies the secondary remote instance URL in the format `protocol://host:port`
     - `OPENSEARCH_SECONDARY_SSL_CERTIFICATE_VERIFICATION` - if set to `true`, connections to the secondary remote OpenSearch instance will require full TLS certificate validation (this may fail if using self-signed certificates) (default `false`)
+    - The following variables control the OpenSearch indices to which network traffic metadata are written. Changing them from their defaults may cause logs from non-Arkime data sources (i.e., Zeek, Suricata) to not show up correctly in Arkime.
+        + `MALCOLM_NETWORK_INDEX_PATTERN` - Index pattern for network traffic logs written via Logstash (default is `arkime_sessions3-*`)
+        + `MALCOLM_NETWORK_INDEX_TIME_FIELD` - Default time field to use for network traffic logs in Logstash and Dashboards (default is `firstPacket`)
+        + `MALCOLM_NETWORK_INDEX_SUFFIX` - Suffix used to create index to which network traffic logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`)
+    - The following variables control the OpenSearch indices to which other logs ([third-party logs](third-party-logs.md#ThirdPartyLogs), resource utilization reports from network sensors, etc.) are written.
+        + `MALCOLM_OTHER_INDEX_PATTERN` - Index pattern for other logs written via Logstash (default is `malcolm_beats_*`)
+        + `MALCOLM_OTHER_INDEX_TIME_FIELD` - Default time field to use for other logs in Logstash and Dashboards (default is `@timestamp`)
+        + `MALCOLM_OTHER_INDEX_SUFFIX` - Suffix used to create index to which other logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`)
 * **`pcap-capture.env`** - settings specific to capturing traffic for [live traffic analysis](live-analysis.md#LocalPCAP)
     - `PCAP_ENABLE_NETSNIFF` – if set to `true`, Malcolm will capture network traffic on the local network interface(s) indicated in `PCAP_IFACE` using [netsniff-ng](http://netsniff-ng.org/)
     - `PCAP_ENABLE_TCPDUMP` – if set to `true`, Malcolm will capture network traffic on the local network interface(s) indicated in `PCAP_IFACE` using [tcpdump](https://www.tcpdump.org/); there is no reason to enable *both* `PCAP_ENABLE_NETSNIFF` and `PCAP_ENABLE_TCPDUMP`

From 204d5b80f8a54cace65d07767a5d39cdf9612e8c Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 16 Jan 2024 09:36:01 -0700
Subject: [PATCH 86/88] update alpine to v3.19 for docker image bases, also
 minor documentation tweaks

---
 Dockerfiles/dashboards-helper.Dockerfile | 4 ++--
 Dockerfiles/dirinit.Dockerfile           | 2 +-
 Dockerfiles/nginx.Dockerfile             | 2 +-
 docs/development.md                      | 4 ++--
 docs/malcolm-config.md                   | 4 ++--
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile
index 39086b372..c9536d157 100644
--- a/Dockerfiles/dashboards-helper.Dockerfile
+++ b/Dockerfiles/dashboards-helper.Dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.18
+FROM alpine:3.19
 
 # Copyright (c) 2020 Battelle Energy Alliance, LLC.  All rights reserved.
 LABEL maintainer="malcolm@inl.gov"
@@ -63,7 +63,7 @@ RUN apk update --no-cache && \
     apk upgrade --no-cache && \
     apk --no-cache add bash python3 py3-pip curl openssl procps psmisc npm rsync shadow jq tini && \
     npm install -g http-server && \
-    pip3 install supervisor humanfriendly requests && \
+    pip3 install --break-system-packages supervisor humanfriendly requests && \
     curl -fsSLO "$SUPERCRONIC_URL" && \
       echo "${SUPERCRONIC_SHA1SUM}  ${SUPERCRONIC}" | sha1sum -c - && \
       chmod +x "$SUPERCRONIC" && \
diff --git a/Dockerfiles/dirinit.Dockerfile b/Dockerfiles/dirinit.Dockerfile
index b469571aa..0e8998c61 100644
--- a/Dockerfiles/dirinit.Dockerfile
+++ b/Dockerfiles/dirinit.Dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.18
+FROM alpine:3.19
 
 # Copyright (c) 2024 Battelle Energy Alliance, LLC.  All rights reserved.
 LABEL maintainer="malcolm@inl.gov"
diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index 425e3fcbb..83d885ad5 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -33,7 +33,7 @@ RUN find /site -type f -name "*.md" -exec sed -i "s/{{[[:space:]]*site.github.bu
     find /site/_site -type f -name "*.html" -exec sed -i 's@\(href=\)"/"@\1"/readme/"@g' "{}" \;
 
 # build NGINX image
-FROM alpine:3.18
+FROM alpine:3.19
 
 LABEL maintainer="malcolm@inl.gov"
 LABEL org.opencontainers.image.authors='malcolm@inl.gov'
diff --git a/docs/development.md b/docs/development.md
index c4a5a05fa..7b338341a 100644
--- a/docs/development.md
+++ b/docs/development.md
@@ -52,7 +52,7 @@ Then, go take a walk or something since it will be a while. When you are done, y
 
 * `ghcr.io/idaholab/malcolm/api` (based on `python:3-slim`)
 * `ghcr.io/idaholab/malcolm/arkime` (based on `debian:12-slim`)
-* `ghcr.io/idaholab/malcolm/dashboards-helper` (based on `alpine:3.18`)
+* `ghcr.io/idaholab/malcolm/dashboards-helper` (based on `alpine:3.19`)
 * `ghcr.io/idaholab/malcolm/dashboards` (based on `opensearchproject/opensearch-dashboards`)
 * `ghcr.io/idaholab/malcolm/file-monitor` (based on `debian:12-slim`)
 * `ghcr.io/idaholab/malcolm/file-upload` (based on `debian:12-slim`)
@@ -61,7 +61,7 @@ Then, go take a walk or something since it will be a while. When you are done, y
 * `ghcr.io/idaholab/malcolm/htadmin` (based on `debian:11-slim`)
 * `ghcr.io/idaholab/malcolm/logstash-oss` (based on `opensearchproject/logstash-oss-with-opensearch-output-plugin`)
 * `ghcr.io/idaholab/malcolm/netbox` (based on `netboxcommunity/netbox:latest`)
-* `ghcr.io/idaholab/malcolm/nginx-proxy` (based on `alpine:3.18`)
+* `ghcr.io/idaholab/malcolm/nginx-proxy` (based on `alpine:3.19`)
 * `ghcr.io/idaholab/malcolm/opensearch` (based on `opensearchproject/opensearch`)
 * `ghcr.io/idaholab/malcolm/pcap-capture` (based on `debian:12-slim`)
 * `ghcr.io/idaholab/malcolm/pcap-monitor` (based on `debian:12-slim`)
diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md
index fff52c6b0..b103bd901 100644
--- a/docs/malcolm-config.md
+++ b/docs/malcolm-config.md
@@ -54,11 +54,11 @@ Although the configuration script automates many of the following configuration
     - The following variables control the OpenSearch indices to which network traffic metadata are written. Changing them from their defaults may cause logs from non-Arkime data sources (i.e., Zeek, Suricata) to not show up correctly in Arkime.
         + `MALCOLM_NETWORK_INDEX_PATTERN` - Index pattern for network traffic logs written via Logstash (default is `arkime_sessions3-*`)
         + `MALCOLM_NETWORK_INDEX_TIME_FIELD` - Default time field to use for network traffic logs in Logstash and Dashboards (default is `firstPacket`)
-        + `MALCOLM_NETWORK_INDEX_SUFFIX` - Suffix used to create index to which network traffic logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`)
+        + `MALCOLM_NETWORK_INDEX_SUFFIX` - Suffix used to create index to which network traffic logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`)
     - The following variables control the OpenSearch indices to which other logs ([third-party logs](third-party-logs.md#ThirdPartyLogs), resource utilization reports from network sensors, etc.) are written.
         + `MALCOLM_OTHER_INDEX_PATTERN` - Index pattern for other logs written via Logstash (default is `malcolm_beats_*`)
         + `MALCOLM_OTHER_INDEX_TIME_FIELD` - Default time field to use for other logs in Logstash and Dashboards (default is `@timestamp`)
-        + `MALCOLM_OTHER_INDEX_SUFFIX` - Suffix used to create index to which other logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`)
+        + `MALCOLM_OTHER_INDEX_SUFFIX` - Suffix used to create index to which other logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`)
 * **`pcap-capture.env`** - settings specific to capturing traffic for [live traffic analysis](live-analysis.md#LocalPCAP)
     - `PCAP_ENABLE_NETSNIFF` – if set to `true`, Malcolm will capture network traffic on the local network interface(s) indicated in `PCAP_IFACE` using [netsniff-ng](http://netsniff-ng.org/)
     - `PCAP_ENABLE_TCPDUMP` – if set to `true`, Malcolm will capture network traffic on the local network interface(s) indicated in `PCAP_IFACE` using [tcpdump](https://www.tcpdump.org/); there is no reason to enable *both* `PCAP_ENABLE_NETSNIFF` and `PCAP_ENABLE_TCPDUMP`

From 3a471ec0ec94a3262a129ce892f8cecd3e5c1d15 Mon Sep 17 00:00:00 2001
From: SG <mero.mero.guero@gmail.com>
Date: Tue, 16 Jan 2024 10:11:06 -0700
Subject: [PATCH 87/88] revert NGINX to alpine v3.18 as we were getting lib SSL
 symbol errors with v3.19

---
 Dockerfiles/nginx.Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile
index 83d885ad5..425e3fcbb 100644
--- a/Dockerfiles/nginx.Dockerfile
+++ b/Dockerfiles/nginx.Dockerfile
@@ -33,7 +33,7 @@ RUN find /site -type f -name "*.md" -exec sed -i "s/{{[[:space:]]*site.github.bu
     find /site/_site -type f -name "*.html" -exec sed -i 's@\(href=\)"/"@\1"/readme/"@g' "{}" \;
 
 # build NGINX image
-FROM alpine:3.19
+FROM alpine:3.18
 
 LABEL maintainer="malcolm@inl.gov"
 LABEL org.opencontainers.image.authors='malcolm@inl.gov'

From 2a051fa42e037f0d07666424585430e7f2224758 Mon Sep 17 00:00:00 2001
From: Seth Grover <mero.mero.guero@gmail.com>
Date: Wed, 17 Jan 2024 08:15:17 -0700
Subject: [PATCH 88/88] adjust link for cisagov fork

---
 nginx/landingpage/index.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html
index 50cfcb1a3..bae1cbbdb 100644
--- a/nginx/landingpage/index.html
+++ b/nginx/landingpage/index.html
@@ -105,13 +105,13 @@ <h3>API</h3></a>
                 <div class="row">
                     <div class="col-lg-6 h-100 text-center text-lg-start my-auto">
                         <p class="text-muted small mb-4 mb-lg-0">
-                        <a href="https://github.com/idaholab/Malcolm/releases">Malcolm MALCOLM_VERSION_REPLACER</a> &copy; 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the
+                        <a href="https://github.com/cisagov/Malcolm/releases">Malcolm MALCOLM_VERSION_REPLACER</a> &copy; 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the
                         Cybersecurity and Infrastructure Security Agency of the U.S. Department of Homeland Security.</p>
                     </div>
                     <div class="col-lg-6 h-100 text-center text-lg-end my-auto">
                         <ul class="list-inline mb-0">
                             <li class="list-inline-item">
-                                <a href="https://github.com/idaholab/Malcolm"><i class="bi-github fs-3"></i></a>
+                                <a href="https://github.com/cisagov/Malcolm"><i class="bi-github fs-3"></i></a>
                             </li>
                         </ul>
                     </div>